6.5 例外ハンドリング
ex.getBindingResult().getGlobalErrors().stream()
.forEach(e -> apiError.addDetail(e.getObjectName(), getMessage(e, request)));
ex.getBindingResult().getFieldErrors().stream()
.forEach(e -> apiError.addDetail(e.getField(), getMessage(e, request)));
return super.handleExceptionInternal(
ex, apiError, headers, status, request);
}
private String getMessage(MessageSourceResolvable resolvable, WebRequest request){
return messageSource.getMessage(resolvable, request.getLocale());
}
❶
エラーメッセージを取得するためのコンポーネント(
MessageSource
)を DI する
❷
ResponseEntityExceptionHandler
の
handleMethodArgumentNotValid
メソッ