根据springMVC 4.3 源码
@requestMapping
1.简介
作用:主要是配置映射的路径和许可的媒体类型和头信息等
先看requestMapping 的类上的元注解类分析存在时间和可以注解的类型
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
作用范围:可以注解在类上和方法上,根据@Target 元注解
作用时间:程序运行时,根据@Retention元注解
2.属性
1.name ;为此注解指定名称
2.value:指定类或方法映射的路径
3.path:通value 属性,这两个属性互为别名,见@AliasFor 注解
4.method:指定类或方法许可的http请求方法,:例如post,get,delete,put
配合RequestMethod 这个类使用,如果以其他方法请求会报405错误码
5.params:作用: 配置允许的映射时,某个参数键值对key = valu,必须存在,否则会报400 bad request,
此属性,还可以用于多个不同的前端操作请求后台,但想共用一个映射值时,此时就可以用params 加个额外参数区分
6.headers
作用:配置此映射允许的header 头信息类型
例如:设置headers = “content-type=text/*” ,如果content-type不为text/* 属性,假如为application/json ,则会返回415 不支持的媒体类型
7.produces
作用: 对映射返回的媒体类型(content-type)进行限制,并可对返回的字符集进行设置
例如:produces="application/json;charset=UTF-8"
8.consumes作用: 设置映射允许通过的媒体类型(content-type)
@ResponseBody
作用:将返回的内容正常返回,而不是路径解析
作用范围:类或方法上
作用时间:程序运行时
正常情况下,springmvc 默认会对返回的结果进行路径解析,如果不加此注解,有时候我们想返回正常的文本内容就会被自动解析到路径,报404错误,因此需要加上此注解,声明是想返回文本信息,而不需要路径解析