Springboot Learning - การตั้งค่าการจัดการข้อยกเว้นทั่วโลก (กลับสู่ JSON)
ความต้องการ
อธิบาย
@ControllerAdvice
คำอธิบายประกอบนี้เป็นคำอธิบายประกอบใหม่ที่เพิ่มหลังจากฤดูใบไม้ผลิ 2.3 ส่วนใหญ่จะใช้เพื่อให้ความช่วยเหลือในการปรับปรุงความต้องการทั่วไปของคอนโทรลเลอร์ต่ำและใช้กับวิธีการเพิ่มความคิดเห็น @requestmapping
@ExceptionHandler
คำอธิบายประกอบนี้เป็นคำอธิบายประกอบที่ใช้กับ @ExceptionHandler มันเป็นตัวจัดการข้อผิดพลาดที่กำหนดเอง คุณสามารถรวบรวมสตริง JSON ด้วยตัวเองและกลับไปที่หน้า
รหัส
สร้างคลาสการจัดการข้อยกเว้นทั่วโลกดังนี้:
หากข้อยกเว้นที่แตกต่างกันมีการดำเนินการที่แตกต่างกันในการดำเนินการคุณจะต้องเปลี่ยนค่าของค่า @exceptionhandler ให้แตกต่างกัน สามารถจัดการข้อยกเว้นที่แตกต่างกันหลายอย่างในเวลาเดียวกัน แต่สถานะการรวมไม่สามารถเกิดขึ้นได้
นำเข้า javax.servlet.http.httpservletrequest; นำเข้า org.springframework.web.bind.annotation.controlleradvice; นำเข้า org.springframework.web.bind.annotation.exceptionhandler; คลาส globalexceptionhandler { / ** * ข้อยกเว้นทั้งหมดที่รายงานข้อผิดพลาด * @param คำขอ * @param Exception * @return * @throws Exception * / @exceptionhandler (value = exception.class) สตริงสาธารณะ AllexceptionHandler System.out.println ("ฉันรายงานข้อผิดพลาด:"+Exception.getLocalizedMessage ()); System.out.println ("ฉันรายงานข้อผิดพลาด:"+Exception.getCause ()); System.out.println ("ฉันรายงานข้อผิดพลาด:"+Exception.getSuppressed ()); System.out.println ("ฉันรายงานข้อผิดพลาด:"+Exception.getMessage ()); System.out.println ("ฉันรายงานข้อผิดพลาด:"+Exception.getStackTrace ()); กลับ "ข้อยกเว้นเซิร์ฟเวอร์โปรดติดต่อผู้ดูแลระบบ!"; -จำลองชั้นเรียนการขว้างปาข้อยกเว้น ตัวอย่างต่อไปนี้คือการโยนข้อยกเว้นตัวชี้โมฆะและตัวส่วนไม่ใช่ข้อยกเว้น
นำเข้า org.springframework.steretype.controller; นำเข้า org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.bind.annotation.responsebody;@controller@requestmapping ( ทดสอบ () {ข้อความ msg = null; msg.toString (); createeexception (); กลับ "ฉันเป็นปกติ"; } โมฆะส่วนตัว CreateEexception () {int i = 5/0; -เริ่มต้นสปริงโบทผลการดำเนินการ
เนื่องจากสตริงที่ส่งคืนคุณยังสามารถใช้คลาสเครื่องมือ JSON เพื่อห่อหุ้มและส่งคืนสตริง JSON
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น