Xử lý ngoại lệ
Xử lý ngoại lệ với @ControllerAdvice, @ExceptionHandler, @ResponseStatus, chuẩn hóa lỗi
1@ControllerAdvice trong Spring MVC là gì?
@ControllerAdvice trong Spring MVC là gì?
Câu trả lời
@ControllerAdvice cho phép tập trung hóa việc xử lý ngoại lệ cho tất cả các controller của ứng dụng. Annotation này tạo ra một thành phần toàn cục chặn các ngoại lệ được ném ra bởi bất kỳ @Controller hoặc @RestController nào. Điều này tránh việc lặp lại logic xử lý lỗi trong từng controller và thúc đẩy tính nhất quán của các phản hồi lỗi.
2Làm thế nào để xử lý một ngoại lệ cụ thể trong một controller?
Làm thế nào để xử lý một ngoại lệ cụ thể trong một controller?
Câu trả lời
@ExceptionHandler cho phép định nghĩa một phương thức xử lý một hoặc nhiều ngoại lệ cụ thể trong một controller hoặc @ControllerAdvice. Phương thức được gắn annotation sẽ được gọi tự động khi ngoại lệ được chỉ định bị ném ra. Có thể trả về một ResponseEntity để kiểm soát trạng thái HTTP và phần thân của phản hồi.
3@ResponseStatus trên một lớp ngoại lệ có mục đích gì?
@ResponseStatus trên một lớp ngoại lệ có mục đích gì?
Câu trả lời
@ResponseStatus trên một ngoại lệ tùy chỉnh cho phép tự động ánh xạ ngoại lệ này sang một mã trạng thái HTTP cụ thể. Khi ngoại lệ bị ném ra, Spring tự động trả về trạng thái HTTP đã chỉ định mà không cần @ExceptionHandler. Cách tiếp cận này đơn giản hóa mã cho các ngoại lệ đơn giản tương ứng trực tiếp với một trạng thái HTTP.
Ngoại lệ nào được ném ra khi xác thực với @Valid thất bại?
ProblemDetail trong Spring 6+ là gì?
+22 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Spring Boot khác
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging với SLF4J và Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Bean Validation
Kiến thức cơ bản về Spring Data JPA
Thực thể JPA & Quan hệ
Truy vấn JPA
Spring Data Repositories
Cơ bản về Spring Security
Spring Boot Actuator
Kiểm thử đơn vị với JUnit & Mockito
Kiểm thử Spring Boot
Profiles và Environment
RestTemplate và WebClient
Async và Scheduling
Caching với Spring
Spring WebFlux (Reactive)
Giao dịch Spring
Xác thực và phân quyền nâng cao
JWT & Bảo mật Stateless
OAuth2 & Authorization Server
Spring Boot và Docker
Microservices với Spring
Spring Cloud Config
Tối ưu hóa hiệu năng
GraalVM Native Images
Nắm vững Spring Boot cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí