Spring REST Controllers
REST API với @RestController, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, ResponseEntity
1Sự khác biệt chính giữa @RestController và @Controller là gì?
Sự khác biệt chính giữa @RestController và @Controller là gì?
Câu trả lời
@RestController là một annotation tổng hợp kết hợp @Controller và @ResponseBody. Điều này có nghĩa là tất cả các phương thức trong @RestController tự động trả về dữ liệu được tuần tự hóa (JSON/XML) thay vì phân giải một view. @RestController lý tưởng để tạo REST API, trong khi @Controller được dùng cho các ứng dụng web truyền thống với view HTML.
2Vai trò của annotation @RequestBody trong một phương thức REST là gì?
Vai trò của annotation @RequestBody trong một phương thức REST là gì?
Câu trả lời
@RequestBody yêu cầu Spring giải tuần tự hóa phần thân của yêu cầu HTTP (thường là JSON hoặc XML) thành một đối tượng Java. Spring sử dụng một HttpMessageConverter (như Jackson cho JSON) để thực hiện chuyển đổi này tự động. Điều này rất cần thiết để nhận dữ liệu phức tạp trong các yêu cầu POST hoặc PUT.
3Nên dùng annotation nào để ánh xạ một yêu cầu HTTP DELETE?
Nên dùng annotation nào để ánh xạ một yêu cầu HTTP DELETE?
Câu trả lời
@DeleteMapping là một annotation chuyên dụng được giới thiệu trong Spring 4.3 để ánh xạ các yêu cầu HTTP DELETE một cách ngắn gọn. Đó là cách viết tắt của @RequestMapping(method = RequestMethod.DELETE). Spring cung cấp các annotation tương tự cho mỗi phương thức HTTP: @GetMapping, @PostMapping, @PutMapping, @PatchMapping.
Làm thế nào để trích xuất một biến đường dẫn từ URL trong Spring REST?
Lợi ích của việc dùng ResponseEntity<T> thay vì trả về trực tiếp một đối tượng là gì?
+17 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
Request & Response Handling
Xử lý ngoại lệ
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í