Pembelajaran Springboot - Pengaturan Penanganan Pengecualian Global (kembali ke JSON)
membutuhkan
menjelaskan
@ControllerAdvice
Anotasi ini adalah anotasi baru yang ditambahkan setelah musim semi 2.3. Ini terutama digunakan untuk memberikan bantuan pada beberapa peningkatan invasif rendah dari kebutuhan umum pengontrol, dan digunakan pada metode anotasi @Requestmapping.
@ExceptionHandler
Anotasi ini adalah anotasi yang digunakan dengan @ExceptionHandler. Ini adalah penangan kesalahan khusus. Anda dapat mengumpulkan string JSON sendiri dan kembali ke halaman.
Kode
Buat kelas penanganan pengecualian global sebagai berikut:
Jika pengecualian berbeda memiliki operasi yang berbeda untuk diterapkan, Anda hanya perlu mengubah nilai nilai @ExceptionHandler menjadi berbeda. Beberapa pengecualian berbeda dapat ditangani secara bersamaan, tetapi keadaan inklusi tidak dapat terjadi.
Impor javax.servlet.http.httpservletrequest; impor org.springframework.web.bind.annotation.controllerAdvice; impor org.springframework.web.bind.annotation.exceptionHandler; impor org.springframework.wind.bind.bind.notation class GlobalExceptionHandler { /** * All exceptions reported errors* @param request * @param exception * @return * @throws Exception */ @ExceptionHandler(value=Exception.class) public String allExceptionHandler(HttpServletRequest request, Exception exception) throws Exception { exception.printStackTrace(); System.out.println ("Saya melaporkan kesalahan:"+exception.getLocalizedMessage ()); System.out.println ("Saya melaporkan kesalahan:"+Exception.getCause ()); System.out.println ("Saya melaporkan kesalahan:"+exception.getSuppressed ()); System.out.println ("Saya melaporkan kesalahan:"+Exception.getMessage ()); System.out.println ("Saya melaporkan kesalahan:"+Exception.getStackTrace ()); kembalikan "Pengecualian Server, silakan hubungi administrator!"; }}Mensimulasikan kelas lemparan pengecualian. Contoh berikut adalah melempar pengecualian penunjuk nol dan penyebutnya bukan pengecualian
impor org.springframework.steretype.controller; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.bind.annotation.ResponseBody; controller@requestMapping ("/excepcept")@responsponsebody; controller@requestMapping ("/Exceptest")@ResponseBodyBody; controller@requestMapping ("/Exceptest")@responsponsepapepubpuby; test () {pesan msg = null; msg.tostring (); createException (); Kembalikan "Saya normal"; } private void createException () {int i = 5/0; }}Mulai Springboot, Hasil Eksekusi
Karena string yang dikembalikan, Anda juga dapat menggunakan kelas alat JSON untuk merangkumnya dan mengembalikan string JSON
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.