@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){
}