すべてのコントローラメソッドを try/catch で囲む代わりに、Spring では @ControllerAdvice (または @RestControllerAdvice) を付けた 1 つのクラスにエラー処理を集約できます。@ExceptionHandler を付けたメソッドが、コントローラのどこで投げられた例外もキャッチし、一貫した HTTP レスポンスに変換します。
グローバルハンドラ
java
{
ApiError {
(, ex.getMessage());
}
ApiError {
ex.getBindingResult().getFieldErrors().stream()
.map(e -> e.getField() + + e.getDefaultMessage())
.collect(Collectors.joining());
(, msg);
}
}
