2022-08-20

@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

1 @RequestMapping常用属性

1.1 value属性

指定控制器的方法URI

            
            /**
             * 控制器
             * 一点教程网 - www.yiidian.com
             */
            @Controller
            @RequestMapping("/yiidian")
            public class HelloController{
                @RequestMapping("/hello.do")
                public void hello(HttpServletRequest request,HttpServletResponse response) throws IOException {
                    response.getWriter().write("Hello-www.yiidian.com");
                }
            }

如果类和方法上都指定value值,那么方法的最终方法路径为:http://localhost:8080/yiidian/hello.do

1.2 method属性

指定请求的method类型,可以接受GET,POST,PUT,DELETE等

            
            @RequestMapping(value = "/hello.do",method = RequestMethod.GET)
            public void hello(HttpServletRequest request,HttpServletResponse response) throws IOException {
                 response.getWriter().write("Hello-www.yiidian.com");
            }

1.3 consumes、produces属性

consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。

            
            @RequestMapping(value = "/hello.do",consumes = "application/json",produces = "application/json")
            public void hello(HttpServletRequest request,HttpServletResponse response) throws IOException {
                response.getWriter().write("Hello-www.yiidian.com");
            }

1.4 params、headers属性

params:指定request中必须包含某些参数值,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。

params示例:

            
            @RequestMapping(value = "/hello.do",params = "id=10")
            public void hello(HttpServletRequest request,HttpServletResponse response) throws IOException {
               response.getWriter().write("Hello-www.yiidian.com");
            }

headers示例:

            
            @RequestMapping(value = "/hello.do",headers = "Referer=http://www.yiidian.com/")
            public void hello(HttpServletRequest request,HttpServletResponse response) throws IOException {
               response.getWriter().write("Hello-www.yiidian.com");
            }
阅读全文