文章目录
获取请求参数的注解
在springboot中给我们提供了许多处理参数相关的注解,如@PathVariable 、 @RequestHeader 、 @ModelAttribute 、 @RequestParam 、@MatrixVariable、@CookieValue、@RequestBody等等
@PathVariable
这个注解的用法和springmvc一样的,没什么好说的,代码和测试结果如下
@RequestHeader
这个注解可以获取到请求头的值,传入一个请求头的名称就行
使用方法如下
我们可以传入请求头的key,也可以使用HttpHeaders这个类,里面定义了请求头,我们还可以不行参数,这样会将所有请求头封装到map中
我们使用postman进行测试
@RequestParam
这个注解也是在springmvc经常使用的,就不赘述了,测试代码如下
@CookieValue
这个注解可以获取cookie的值,源代码如下
我们使用这个注解需要传入cookie对应的名称,接收使用Cookie,String,int都行,测试代码如下
我们在postman提交时设置名称为key和time的cookie
程序输出如下,可以成功使用
@RequestBody
这个注解我记得也在springmvc学习过,这里也不赘述了,测试代码如下
@RequestAttribute,@SessionAttribute
这2个注解可以获取域里面的参数,传入参数名称即可,使用方法一样的,代码如下
上面的代码在request域和session域分别设置了1个属性,下面就是通过@RequestAttribute,@SessionAttribute进行获取,测试结果如下
复杂参数
在springboot中,我们在进行参数接收时也和springmvc一样,支持自动注入,需要什么写什么就行了,如Map、Model、Errors/BindingResult、RedirectAttributes、ServletResponse、SessionStatus、UriComponentsBuilder、ServletUriComponentsBuilder、HttpSession、Request、Response等等,有好多都是springmvc里面接触过的,下面我就演示一个RedirectAttributes
RedirectAttributes
这个RedirectAttributes是用于重定向携带数据,使用方法如下
我们将数据保存到RedirectAttributes中,在进行重定向时数据就会进行携带,我们直接获取即可,测试代码如下
自定义对象参数
我们如果在参数中包含直接定义的对象,那么springboot会帮我们自动进行封装,如果改对象的属性还包含对象,也就是嵌套,那么springboot也会进行解决,也就是说支持级联封装
为了测试方便,我们先创建一个Dog类和People类,如下
然后我们在参数列表直接写上People即可
下面就是发送请求,注意:由于这里People包含了嵌套,所以我们提交参数时对people的对象的值采用的是属性名.值的方式进行提交,下面直接看例子
我们对people里面的dog属性进行值指定时是用dog.xxx进行指定的,如果dog还有嵌套,那么也用**.小数点**进行处理即可。控制台输出如下
总结
这篇文章讲的比较粗略,应为这些基本都是springmvc里面的知识,如果哪个注解不熟悉,那么我们直接看该注解源代码即可,如果还是不会,用到的时候再去网上查询即可,常用的注解就那么几个
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/140227.html