spring mvc传参问题
来源:3-4 Controller实体对象接收请求参数
Sweet2021
2022-07-19 14:23:23
批量查询的时候,前端传List<String> ids参数,用@GetMapping还是@PostMapping?
传List<String> ids参数的时候,要不要加@RequestParam注解或@RequestBody注解?
1回答
好帮手慕小蓝
2022-07-19
同学你好~
1.使用@GetMapping还是@PostMapping要取决于前端发送来的请求形式,如果是get形式则使用@GetMapping,如果是post格式则使用@PostMapping。
通常情况下,如果传递的是集合时,会是通过post的形式发送请求,所以使用@PostMapping的情况会更多一些。
2.@RequestParam主要有两点作用:
(1)用于将方法参数与前端参数绑定时使用。即,如果前端定义的参数名与后端方法不一致时,需要使用该注解在后端重新命名。
(2)声明该参数是否为前端必须传值的参数,通过对@RequestParam的required属性进行设置来完成该功能,如果值为false为非必须传,如果为true则为必须传。
需要注意的是,如果使用@RequestParam,那么前端传递数据时,Content-Type必须设置为application/x-www-form-urlencoded类型,如果是json是不可以的。
3.@RequestBody用于处理post请求数据,支持json等常见格式,所以通常情况下会配合post请求来处理所有类型的数据。
祝学习愉快~
相似问题