内容简介:之前在该注解主要用法有两种,示例如下如果我们想获取全部的get请求值,可以不明确指定RequestParam注解的value,并且使用map来接收参数。这样我们就可以得到全部的请求值。
之前在 SpringBoot源码解析-controller层参数的封装 中已经分析过springboot中controller层参数封装的原理,但是工作中毕竟不会一直有时间给你慢慢分析,有时候快速查询也是很必要的。所以今天就总结一下controller层哪些参数封装注解的含义,以及使用,方便以后快速查阅。
@RequestParam注解
该注解主要用法有两种,示例如下
1.指定参数名
http://127.0.0.1:8080/hello?id=123 @GetMapping("hello") public String hello(@RequestParam("id") String id){ log.info("[{}]",id); return "hello"; } id = 123 复制代码
2.不指定参数名
http://127.0.0.1:8080/hello?id=123&name=liuyu @GetMapping("hello") public String hello(@RequestParam Map<String,String> value){ System.out.println(value); return "hello"; } value = {id=123, name=liuyu} 复制代码
如果我们想获取全部的get请求值,可以不明确指定RequestParam注解的value,并且使用map来接收参数。这样我们就可以得到全部的请求值。
@PathVariable注解
该注解主要用法有两种,示例如下
1.指定参数名
http://127.0.0.1:8080/hello/liuyu/qwert @GetMapping("hello/{id}/{name}") public String hello(@PathVariable("id") String id,@PathVariable("name") String name){ System.out.println(value); System.out.println(name); return "hello"; } id = liuyu ,name = qwert 复制代码
2.不指定参数名
http://127.0.0.1:8080/hello/liuyu/qwert @GetMapping("hello/{id}/{name}") public String hello(@PathVariable Map<String,String> map){ System.out.println(map); return "hello"; } map = {id=liuyu, name=qwert} 复制代码
@MatrixVariable注解
如果要使用该注解需要开启配置
@Component public class GlobalWebMvcConfigurer implements WebMvcConfigurer { @Override public void configurePathMatch(PathMatchConfigurer configurer) { UrlPathHelper urlPathHelper=new UrlPathHelper(); urlPathHelper.setRemoveSemicolonContent(false); configurer.setUrlPathHelper(urlPathHelper); } } 复制代码
该注解主要用法有两种,示例如下
指定参数名
http://127.0.0.1:8080/hello/liu;value=123 @GetMapping("hello/{id}") public String hello(@PathVariable(name = "id") String name,@MatrixVariable(name = "value") String value){ System.out.println(name); System.out.println(value); return "hello"; } id = liu value = 123 复制代码
不指定参数名
http://127.0.0.1:8080/hello/liu;value=123;name=qwe @GetMapping("hello/{id}") public String hello(@PathVariable(name = "id") String name,@MatrixVariable Map<String,String> value){ System.out.println(name); System.out.println(value); return "hello"; } id = liu value = {value=123, name=qwe} 复制代码
@RequestBody注解
post 请求,将请具体封装成实体bean
post请求体 { "name":"liu", "id":"123" } @PostMapping("hello") public String hello(@RequestBody User user){ System.out.println(user); return "hello"; } user(id=123, name=liu) 复制代码
@RequestHeader注解
获取请求头的字段,同样的有获取单个请求头和获取全部请求头的两种用法。
@CookieValue注解
获取cookie中的键值对的值。
请求头添加 Cookie:value=liuyu @GetMapping("hello") public String hello(@CookieValue(name = "value") String user){ System.out.println(user); return "hello"; } user = liuyu 复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 曲线救国,解决spring-boot2.0.6中webflux无法获得请求IP的问题
- 2分钟获得HTTPS证书
- 微软Azure宣布获得OpenBSD支持
- Python 获得命令行参数的方法
- Docker容器如何获得自己的名字
- golang中如何获得函数的函数名
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
鸟哥的Linux私房菜
鸟哥 / 机械工业出版社 / 2008-1 / 88.00元
《鸟哥的Linux私房菜:服务器架设篇(第2版)》是对连续三年蝉联畅销书排行榜前10名的《Linux鸟哥私房菜一服务器架设篇》的升级版,新版本根据目前服务器与网络环境做了大幅度修订与改写。 全书共3部分,第1部分为架站前的进修专区,包括在架设服务器前必须具备的网络基础知识、Linux常用网络命令、Linux网络侦错步骤,以及服务器架站流程:第2部分为主机的简易防火措施,包括限制Linux对......一起来看看 《鸟哥的Linux私房菜》 这本书的介绍吧!