@RequestHeader
主要用来获取http请求头中的参数。
类似于:
假设在http请求头中添加了token参数,那么在后端需要获取token的值然后进行验证之类的,就可以这样获取:
@GetMapping("/domin/pets")
public Pet findPet(@RequestHeader("token") String token){
...
}
@PathVariable
这个是获取url中参数对应的值,必须与RequestMapping中的占位符保持一致,不然会报错。
@GetMapping("/detail/{id}")
public void getData(@PathVariable(value = "id") Long id){
...
}
@RequestParam
用来获取key-value格式传递的参数.例如GET方式中http://xxxx?token=12321或者是http://ssss?page=1,中可以用RequestParam获取到对应key的value。
@GetMapping
public void getData(@RequeatParm(value = "token") String token){
...
}
@RequestBody
用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),所以一般应用到POST/PUT提交方法。也就是前端提交form表单数据的json格式。
前端需要设置header头为的content-type设置为application/json;charset=UTF-8,并且需要将数据转成json对象,例如:
header: {
contentType: 'application/json;charset=UTF-8'
}
一般会加上javax.validation.Valid包中的 @Valid 注解,接收参数的同时验证传递参数是否完整:
@GetMapping
public void getData(@RequestBody Form form){
...
}
# Form 为json字串对应的实体类
本文参考:
标签:...,contoller,http,request,json,token,参数,注解,public From: https://www.cnblogs.com/joudys/p/17388630.html