我正在尝试弄清楚我必须在@ControllerAdvice上使用哪个异常(ConstraintViolationException或ValidationException)。
我的控制器是
@RequestMapping(value="/myUrl",method = RequestMethod.POST)
public String getMyData( @Valid @RequestBody MyObject myObject,BindingResult bindingResult ) { 这是我的ControllerAdvice类,我不确定要使用哪个异常。
@ControllerAdvice
public class ValidationAdviceClass{
@ExceptionHandler(ValidationException.class or ConstraintViolationException.class )
public ResponseEntity handleValidtionErrors(ValidationException ex or ConstraintViolationException) {
// mycode
}搜索时,我发现有人在说使用MethodArgumentNotValidException
我对使用哪种类型的异常感到困惑。
发布于 2018-10-16 01:02:40
不会自动抛出异常,例如,除非在验证过程中发生错误(然后会抛出ValidationException )。
您的RequestBody中的任何验证错误都将传递给BindingResult,您也可以将其作为函数的参数。然后由您决定是否抛出异常。
我建议你阅读这篇Spring Tutorial about Validating Form Input,以便更好地理解如何实现你想要的东西。
https://stackoverflow.com/questions/52820768
复制相似问题