Bean Validation将Object RequestParam转换为@RequestBody

时间:2017-08-30 15:36:18

标签: java spring spring-boot bean-validation spring-restcontroller

我有以下内容:

 @PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
 public ResponseEntity<LoginResponse> getLoginStatus(@Valid LoginRequest loginRequest){
        //some stuff here
 }

loginRequest参数是@RequestParam,但由于它是自定义对象,因此不需要对象前面的@RequestParam注释。问题是当任何bean验证注释放在自定义对象前面时,该对象将转换为body参数(@RequestBody),但我们希望将对象验证为请求参数,而不是body参数。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

LoginRequest属性成为RequestBody的一部分,而不再是RequestParameters的一部分的原因是springfox-swagger版本2.6.1。升级到2.7.0版本为我们解决了这个问题。