contoller层接收request请求中参数的注解

@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字串对应的实体类

本文参考:

  1. http://t.csdn.cn/As6eA
posted @ 2023-05-10 17:28  joudys  阅读(87)  评论(0)    收藏  举报