在我的场景中调用GET端点时,您必须通知两个输入参数code
和date
,第一个用@Size(min = 2, max = 2)
注释,第二个用@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
注释。也就是说,如果您通过code
= 123和date
= 2000-01-AA,则必须分别收到两条错误消息,分别与ConstraintViolationException
和MethodArgumentTypeMismatchException
有关。
这是我的代码:
@RestControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler({MethodArgumentTypeMismatchException.class, ConstraintViolationException.class})
@ResponseStatus(HttpStatus.BAD_REQUEST)
public ErrorResponse handleArgumentTypeMismatch(RuntimeException ex) {
ErrorResponse errorResponse = ErrorResponse.builder().status(HttpStatus.BAD_REQUEST.value())
.message(INVALID_VALUES_MESSAGE).errorDetail(new ErrorDetail(ex.getMessage())).build();
return errorResponse;
}
}
当前,我仅收到最后一个参数错误消息,在这种情况下为date
,而Spring忽略了code
,有什么办法可以接收{{1 }}和code
?