Saya ingin menggunakan cara umum untuk mengelola kode kesalahan 5xx, katakanlah secara khusus kasus ketika db turun di seluruh aplikasi pegas saya. Saya ingin json error cantik, bukan pelacakan tumpukan.
Untuk pengontrol saya memiliki @ControllerAdvice
kelas untuk pengecualian yang berbeda dan ini juga menangkap kasus bahwa db berhenti di tengah permintaan. Tapi ini tidak semua. Saya juga kebetulan memiliki CorsFilter
perpanjangan khusus OncePerRequestFilter
dan di sana ketika saya menelepon doFilter
saya mendapatkan CannotGetJdbcConnectionException
dan itu tidak akan dikelola oleh@ControllerAdvice
. Saya membaca beberapa hal secara online yang hanya membuat saya semakin bingung.
Jadi saya punya banyak pertanyaan:
- Apakah saya perlu menerapkan filter kustom? Saya menemukan
ExceptionTranslationFilter
tapi ini hanya menanganiAuthenticationException
atauAccessDeniedException
. - Saya berpikir untuk menerapkannya sendiri
HandlerExceptionResolver
, tetapi ini membuat saya ragu, saya tidak memiliki pengecualian khusus untuk dikelola, pasti ada cara yang lebih jelas dari ini. Saya juga mencoba menambahkan coba / menangkap dan memanggil implementasiHandlerExceptionResolver
(harus cukup baik, pengecualian saya tidak ada yang istimewa) tetapi ini tidak mengembalikan apa pun dalam respons, saya mendapatkan status 200 dan badan kosong.
Apakah ada cara yang baik untuk mengatasi ini? Terima kasih