SpringBoot - @RequestMapping 注解
@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
posted on 2022-12-30 17:03 Mikasa-Ackerman 阅读(244) 评论(0) 收藏 举报
浙公网安备 33010602011771号