การจัดการข้อยกเว้น
การจัดการข้อยกเว้นด้วย @ControllerAdvice, @ExceptionHandler, @ResponseStatus, การทำให้ข้อผิดพลาดเป็นมาตรฐาน
1@ControllerAdvice ใน Spring MVC คืออะไร?
@ControllerAdvice ใน Spring MVC คืออะไร?
คำตอบ
@ControllerAdvice ช่วยให้สามารถรวมศูนย์การจัดการข้อยกเว้นสำหรับ controller ทั้งหมดของแอปพลิเคชัน annotation นี้สร้างคอมโพเนนต์ระดับ global ที่ดักจับข้อยกเว้นที่ถูกโยนโดย @Controller หรือ @RestController ใด ๆ ซึ่งช่วยหลีกเลี่ยงการเขียนตรรกะการจัดการข้อผิดพลาดซ้ำในแต่ละ controller และส่งเสริมความสอดคล้องของการตอบสนองข้อผิดพลาด
2จะจัดการข้อยกเว้นเฉพาะเจาะจงใน controller ได้อย่างไร?
จะจัดการข้อยกเว้นเฉพาะเจาะจงใน controller ได้อย่างไร?
คำตอบ
@ExceptionHandler ช่วยให้สามารถกำหนดเมธอดที่จัดการข้อยกเว้นเฉพาะหนึ่งรายการหรือมากกว่าใน controller หรือ @ControllerAdvice เมธอดที่มี annotation จะถูกเรียกใช้โดยอัตโนมัติเมื่อมีการโยนข้อยกเว้นที่ระบุไว้ สามารถคืนค่า ResponseEntity เพื่อควบคุมสถานะ HTTP และเนื้อหาของการตอบสนองได้
3@ResponseStatus บนคลาสข้อยกเว้นมีจุดประสงค์อะไร?
@ResponseStatus บนคลาสข้อยกเว้นมีจุดประสงค์อะไร?
คำตอบ
@ResponseStatus บนข้อยกเว้นที่กำหนดเองช่วยให้สามารถแมปข้อยกเว้นนี้ไปยังรหัสสถานะ HTTP ที่เฉพาะเจาะจงโดยอัตโนมัติ เมื่อมีการโยนข้อยกเว้น Spring จะคืนค่าสถานะ HTTP ที่ระบุไว้โดยอัตโนมัติโดยไม่ต้องใช้ @ExceptionHandler แนวทางนี้ช่วยลดความซับซ้อนของโค้ดสำหรับข้อยกเว้นแบบง่ายที่สอดคล้องโดยตรงกับสถานะ HTTP
ข้อยกเว้นใดถูกโยนเมื่อการตรวจสอบความถูกต้องด้วย @Valid ล้มเหลว?
ProblemDetail ใน Spring 6+ คืออะไร?
+22 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Spring Boot อื่นๆ
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
การทำ Logging ด้วย SLF4J และ Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Bean Validation
พื้นฐาน Spring Data JPA
เอนทิตี JPA และความสัมพันธ์
การสืบค้น JPA
Spring Data Repositories
พื้นฐาน Spring Security
Spring Boot Actuator
การทดสอบหน่วยด้วย JUnit และ Mockito
การทดสอบ Spring Boot
Profiles และ Environment
RestTemplate และ WebClient
Async และ Scheduling
Caching ด้วย Spring
Spring WebFlux (Reactive)
ทรานแซกชัน Spring
การยืนยันตัวตนและการให้สิทธิ์ขั้นสูง
JWT และความปลอดภัยแบบ Stateless
OAuth2 และ Authorization Server
Spring Boot และ Docker
Microservices ด้วย Spring
Spring Cloud Config
การเพิ่มประสิทธิภาพการทำงาน
GraalVM Native Images
เชี่ยวชาญ Spring Boot สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี