@Target({ElementType.TYPE, ElementType.METHOD}) //只能在方法上使用 @Retention(RetentionPolicy.RUNTIME) @Documented @Mapping public @interface RequestMapping { //设置一个名称 说明该请求的作用 String name() default ""; //设置请求路径 @AliasFor("path") String[] value() default {}; //设置请求路径 @AliasFor("value") String[] path() default {}; //指定请求的类型 如Get,Post RequestMethod[] method() default {}; //指定请求的参数 String[] params() default {}; //指定请求的请求头 String[] headers() default {}; //指定请求的Content-type String[] consumes() default {}; //设置响应类型 Content-type String[] produces() default {}; }
1.name属性
此处name属性,相当于方法的注释,使方法更易理解
@RequestMapping(path="login",name="用户登录") public String login(...){ ... }
2.path与value属性
请求映射的名称 path与value作用都是一样的,并且都支持数组 写多个映射
@RequestMapping(value={"login","user/login"}) public String login(...){ ... } @RequestMapping(value="loginOut") public String loginOut(...){ ... }
3.method属性
设置请求的类型 如Get,Post,Delete,Put......
@RequestMapping(value={"login","user/login"},method = {RequestMethod.GET,RequestMethod.POST}) public String login(...){ ... } @RequestMapping(value="loginOut",method = RequestMethod.POST) public String loginOut(...){ ... }
4.params,headers,consumes,produces 属性
params 指定请求的参数,headers 指定请求的请求头,consumes 指定请求的类型(Content-Type)
produces 指定响应的类型(Content-Type)
@RequestMapping( value="index", params = {"name","age=18"}, headers = {"Accept","Content-Type=application/json"}, consumes = "application/json", produces = "application/json;charset=UTF-8" ) public String login(){ return "Success"; }
params请求的参数必须有name字段 age为18
header请求的请求头必须有Accept,Content-Type的值为application/json
consumes请求的请求内容,Content-Type的值为application/json
produces响应的内容格式为application/json;charset=UTF-8,就是叫游览器以json的格式显示返回给游览器的数据 编码为UTF-8
标签:...,SpringBoot,请求,RequestMapping,value,注解,login,String From: https://www.cnblogs.com/ErenYeager/p/17015360.html