时间:2021-05-20
Controller接收参数的常用方式总体可以分为三类。第一类是Get请求通过拼接url进行传递,第二类是Post请求通过请求体进行传递,第三类是通过请求头部进行参数传递。
1 @PathVariable接收参数
请求方式:localhost:7001/param/123
请求示例:
代码示例:
@GetMapping("{id}")public String getPathVariable(@PathVariable String id){ return "id="+id;}2 @RequestParam接收参数
使用这个注解需要注意两个点,一是加了这个参数后则请求中必须传递这个参数,二是@RequestParam这个注解可以指定名字,请求参数必须和指定的这个名字相同,如果不指定,则默认为具体参数名。
请求方式:localhost:7001/param/getParam?myId=18
请求示例:
代码示例:
@GetMapping("getParam")public String getRequestParam(@RequestParam("myId") String id){ return "id="+id;}3 无注解传参
这种方式和2对比,最大的区别就是这个参数不是必传的,请求路径上可以不传递。
请求方式:localhost:7001/param/getString?id=18
请求示例:
代码示例:
@GetMapping("getString")public String getString(String id){ return "id="+id;}4 HttpServletRequest接收参数
请求方式:localhost:7001/param/getRequest?id=18
请求示例:
代码示例:
@GetMapping("getRequest")public String getRequest(HttpServletRequest request){ String id = request.getParameter("id"); return "id="+id;}5 @RequestBody接收请求体参数
这种方式一般用来传递实体对象,加了这个注解后,参数也是必传的。
请求方式:{“id”:18}
请求示例:
代码示例:
@PostMapping("getBody")public String getBody(@RequestBody String id){ return "id="+id;}6 @RequestHeader接收请求头参数
请求示例:
代码示例:
@PostMapping("getHeader")public String getHeader(@RequestHeader String id){ return "id="+id;}此是spring-boot-route系列的第一篇文章,这个系列的文章都比较简单,主要目的就是为了帮助初次接触Spring Boot 的同学有一个系统的认识。
github:https://github.com/binzh303/spring-boot-route
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
SpringMVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的encty
在spring的一个controller中要把参数传到页面,只要配置视图解析器,把参数添加到Model中,在页面用el表达式就可以取到。但是,这样使用的是for
项目升级到springboot2.3之后,参数校验的注解报错,发现spring-boot-starter-web的依赖项已经去除了依赖点开spring-boot
javaurl中如何传递数组,springMVC框架controller类如何接收数组参数?下面介绍一下URL中传递数组参数方法:?1dd.do?titles[
IntelliJIDEA是大家常用编码工具之一;spring-boot也是目前常用的spring框架之一;但是偶尔会遇到一些不常遇见的问题:使用IntelliJ