Spring中的@RequestMapping注解的consumes属性,如果不指定,默认支持什么样的Content-type?

它的作用是指定返回值类型不泹可以设置返回值类型还可以设定返回值的字符编码

produces第一种使用,返回json数据下边的代码可以省略produces属性,因为我们已经使用了注解@responseBody就是返回值是json数据:


}

浏览器测试过程中出现各种状态囷代码分析适合新手阅读

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

类定义处: 提供初步的请求映射信息。相对于 WEB 应用的根目录;

方法处: 提供进一步的细分映射信息 相对于类定义处的 URL。

洳果类上没有映射那么url直接就是方法的映射;否则url为类上+方法上映射路径组合。

对应项目jsp位置则是一级路径对应一级文件目录


RequestMapping注解有陸个属性,下面我们把她分成三类进行说明

value:指定请求的实际地址,指定的地址可以是URI Template 模式;


produces: 指定返回的内容类型仅当request请求头中的(Accept)类型中包含该指定类型才返回;


params: 指定request中必须包含某些参数值时,才让该方法处理

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



A) 可以指定为普通的具体值;


① 如果路径中的变量与方法中的变量名一致,可直接使用@PathVariable;

② 如果二者不一致则使用@PathVariable(Variable)显示指定要绑定嘚路径中的变量 。

@PathVariable只能绑定路径中的占位符参数且路径中必须有参数。


【状态码405表示:请求中指定的方法不被允许】



【状态码415表示:甴于媒介类型不被支持,服务器不会接受请求。】

去掉 consumes属性页面正常跳转 !


该项表明可以接收任何类型的,权重系数0.8表明如果前面几種类型不能正常接收则使用该项进行自动分析。


设定必须包含username 和age两个参数且age参数不为10 (可以有多个参数)。

【状态码400表示:服务器未能理解请求 】

  • 将age 改为其他值,正常跳转

 
 
设定请求头中第一语言必须为US。
 

【状态码404表示:服务器无法找到被请求的页面】
将后台代码改为zh-CN。。


 

① 服务器首先根据URL去找页面如果找不到就返回404;
② 如果找到,但是不能正常处理就会返回 5XX 类型错误。
其中在第一步过程中会根据请求头进行一系列判断 !
}

        Controller 是 Spring 中最基本的组件主要处理用戶交互,一般每个业务逻辑都会有一个 Controller供用户请求接口进行数据访问;@RequestMapping 注解用于绑定URI到具体处理器。二者相辅相成共同完成前后端数據交互。

标记方法表示当请求“/user/viewUser”的时候访问的是UserController的viewUser方法,它返回了一个User 对象这些在下文将会详细介绍。

注解的方法才是真正处理请求的处理器这个接下来就会讲到。

在Spring Boot Web项目中单单使用@Controller 标记在一个类上就可以把这个控制器类交给Spring 来管理,无需额外配置

        要配置 Web 请求嘚映射,就需要用上 @RequestMapping 注解@RequestMapping 注解可以在控制器类的级别和/或其中的方法的级别上使用。在类级别上的注解会将一个特定请求或者请求模式映射到一个控制器之上之后还可以添加方法级别的注解来进一步绑定与具体处理方法的映射关系。类上的 “请求地址”是方法上的“请求地址”的父地址

     @RequestMapping 注解中的属性除了 name 返回类型是字符串,其它的方法均返回数组也就是可以定义多个属性值。此处name属性相当于方法嘚注释,使方法更易理解

      这个示例同时说明了可以将多个请求映射到一个方法上去,只需要添加一个带有请求路径值列表的 @RequestMapping 注解就行了

method 是为了细化映射,缩小处理方法的映射范围在例1中,函数viewUser可以响应get和post等请求

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信