SpringMVC接收参数方式讲解

@PathVariable

该注解用于接收具有Restful风格的参数,如/api/v1/1001,最终userId的值为1001。

如下代码中,使用name属性可以指定GetMapping中的id名称与之对应,从而可以自定义参数名称userId,而不是使用默认名称id

java 复制代码
@GetMapping("/v1/{id}")
public void getMsg(@PathVariable(name = "id") Integer userId){
}

@RequestParam

该注解用于接收查询参数,如/api/v1/product?user="123",则user的值为123。该注解也可用于接收form-data类型的数据。

当在参数前使用@RequireParam时,当请求该方法时,对应的参数必须存在,否则会引发异常,可使用@RequireParam(required = false)指明该参数非必须,该注解在入参为null时可提供默认值。

java 复制代码
@GetMapping("/v1/product")
public void getMsg(@RequestParam String user){
}

@RequestBody

该注解用于接收JSON格式的数据,如请求为{"name":123,"age":18},需要有对应的实体类作为映射。

java 复制代码
@PostMapping("/v1/user")
public void getMsg(@RequestBody User user){
} 
相关推荐
丁总学Java1 年前
SSM项目实战-控制层-登录方法实现,使用Postman测试登录功能
spring·mybatis·ssm·springmvc·requestbody·dto·crossorigin
丁总学Java1 年前
SSM项目实战-后端-日程列表查询实现
java·select·pathvariable·pageinfo·pagehelper·startpage·路径传递参数
丁总学Java1 年前
项目实战:中央控制器实现(4)-实现RequestBody注解的功能-获取请求体参数
java·注解·反射·requestbody·parameter
丁总学Java1 年前
微头条项目实战:通过postman测试登录验证请求
测试工具·postman·controller·requestmapping·requestbody·postmapping·md5util
丁总学Java1 年前
项目实战:中央控制器实现(2)-优化Controller,将共性动作抽取到中央控制器
java·integer·string·requestbody
技术宅星云1 年前
Feign 调用为何POST不支持同时传入多个SpringQueryMap对象,但是GET方法就支持?
feign·requestbody·springquerymap·feign多个对象参数传参·feign的get与post·feign踩坑
xun-ming1 年前
【Spring Boot】拦截器学习笔记
spring boot·拦截器·requestbody·prehandle·验签