亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試在 Spring Controller 中使用 BindingResult 時出現

嘗試在 Spring Controller 中使用 BindingResult 時出現

墨色風雨 2022-06-30 10:30:08
我有一個端點,在那里我驗證收到的包含對象集合的 json 文檔。當我想將其他對象存儲在數據庫中時,我只想記錄這些未通過驗證的對象。在這種情況下,控制器應該返回 200 OK。我試圖為此目的使用 BindingResult 對象。不幸的是,我總是得到一個 ConstraintViolationException。似乎它在進入方法并拋出異常之前對其進行了驗證。如何強制它使用 BindingResult 對象?@RestController@Validated@RequestMapping(path = "/test")class TestController {    @PostMapping(consumes = APPLICATION_JSON_VALUE)    public ResponseEntity<Void> addObjects(@RequestBody @Valid List<Document> objects, BindingResult bindingResult) {        if(bindingResult.hasErrors()){        }                    return new ResponseEntity<Void>(HttpStatus.OK);    }}我正在使用帶有 Java 8 的 Spring Boot 1.5.9.RELEASE
查看完整描述

2 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

我終于設法解決了。問題在于控制器類上的 @Validated 注釋。使用這個注解 spring 對請求進行驗證并拋出 ConstraintViolationException。否則,稍后會觸發驗證,并將結果按預期存儲在 BindingResult 對象中



查看完整回答
反對 回復 2022-06-30
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

您能否添加帶有注釋的模型類?請記住,如果您在Document類中有任何字段是您自定義的類并且您希望它也被驗證,那么您也必須使用 @Valid注釋來裝飾這些字段。



查看完整回答
反對 回復 2022-06-30
  • 2 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號