1

にRequestParamオブジェクトに変換:豆の検証は、私は次のことを持っている@RequestBody

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

loginRequestのparamaterが@RequestParamですが、それがカスタムオブジェクトであるため、オブジェクトの前で@RequestParam注釈が必要とされていません。問題は、Bean検証アノテーションをカスタムオブジェクトの前に置くと、そのオブジェクトがボディパラメーター(@RequestBody)に変換されますが、ボディーパラメーターではなく要求パラメーターとしてオブジェクトを検証したいと考えています。

誰でも助けてください。

+0

あなたは既にSpringの@Validatedアノテーションを調べましたか? [Here](https://sdqali.in/blog/2015/12/04/validating-requestparams-and-pathvariables-in-spring-mvc/)がその例です。 – Rlarroque

+0

それがカスタムオブジェクトであるという事実は、あなたが '@ RequestParam'アノテーションを追加する(またはしない)という事実とは関係ありません。今ではSpringがクラスのインスタンスを作成し、いくつかのバインディングを行います(ほとんどが '@ ModelAttribute'と同じです)。' @ RequestParam'を使用すると、リクエストパラメータを指定されたものに変換しようとします'Login'オブジェクトまたは' HandlerMethodArgumentResolver'カスタムオブジェクトを使用します。基本的に何が起こるかについてのあなたの理解は、オフです。 –

+0

私は分かりません。 JusteはValid @ModelAttributeを使用します。LoginForm loginForm – amdev

答えて

0

LoginRequest属性はもうRequestBodyの一部ではなく、RequestParametersのになった理由は、springfox-swaggerバージョン2.6.1によるものです。バージョン2.7.0にアップグレードすると、この問題が修正されました。

関連する問題