1
我有以下幾點:Bean驗證對象轉換成RequestParam @RequestBody
@PostMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<LoginResponse> getLoginStatus(@Valid LoginRequest loginRequest){
//some stuff here
}
的loginRequest
paramater是@RequestParam
,但是,因爲它是一個自定義對象時,@RequestParam
註釋的對象的前面不需要。問題是,當任何bean驗證註釋放在自定義對象的前面時,該對象將轉換爲一個主體參數(@RequestBody
),但我們希望驗證該對象是請求參數,而不是主體參數。
任何人都可以幫助我嗎?
你已經看過Spring中的@Validated註解嗎? [這裏](https://sdqali.in/blog/2015/12/04/validating-requestparams-and-pathvariables-in-spring-mvc/)就是一個例子。 – Rlarroque
它是一個自定義對象的事實與您有(或不)添加'@ RequestParam'註釋的事實無關。現在發生的事情是,spring會創建一個類的實例並進行一些綁定(大部分與@ ModelAttribute相同)。如果您使用'@ RequestParam',它會嘗試將請求參數轉換爲給定的使用'Converter'或自定義'HandlerMethodArgumentResolver'的'LoginRequest'對象。基本上你對發生的事情的理解是關閉的。 –
我不明白。 Juste使用Valid @ModelAttribute LoginForm loginForm – amdev