@Valid或@Validate的參數後必須緊挨着一個BindingResult 參數,否則spring會在校驗不通過時直接拋出異常
public InternalResponseVo updateSource(@Validated @RequestBody(required = false) SourceValidator sourceValidator, @PathVariable int id, BindingResult bindingResult) {}
如果出現錯誤會直接拋出異常,方法不會執行。只需要修改bindingresult的位置使其挨着校驗入參即可
修改後:
public InternalResponseVo updateSource(@Validated @RequestBody(required = false) SourceValidator sourceValidator, BindingResult bindingResult, @PathVariable int id){}