Spring Boot

Spring REST Controllers

REST API với @RestController, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, ResponseEntity

20 câu hỏi phỏng vấn·
Mid-Level
1

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.

2

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.

3

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.

4

Làm thế nào để trích xuất một biến đường dẫn từ URL trong Spring REST?

5

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

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í