Spring REST Controllers
REST API з @RestController, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, ResponseEntity
1Яка основна різниця між @RestController і @Controller?
Яка основна різниця між @RestController і @Controller?
Відповідь
@RestController — це складена анотація, що поєднує @Controller і @ResponseBody. Це означає, що всі методи в @RestController автоматично повертають серіалізовані дані (JSON/XML) замість того, щоб розв'язувати view. @RestController ідеально підходить для створення REST API, тоді як @Controller використовується для традиційних веб-застосунків із HTML-view.
2Яку роль відіграє анотація @RequestBody у REST-методі?
Яку роль відіграє анотація @RequestBody у REST-методі?
Відповідь
@RequestBody вказує Spring десеріалізувати тіло HTTP-запиту (зазвичай JSON або XML) в Java-об'єкт. Spring використовує HttpMessageConverter (наприклад, Jackson для JSON), щоб виконати це перетворення автоматично. Це необхідно для отримання складних даних у запитах POST або PUT.
3Яку анотацію слід використовувати для зіставлення HTTP-запиту DELETE?
Яку анотацію слід використовувати для зіставлення HTTP-запиту DELETE?
Відповідь
@DeleteMapping — це спеціалізована анотація, представлена у Spring 4.3 для лаконічного зіставлення HTTP-запитів DELETE. Це скорочення для @RequestMapping(method = RequestMethod.DELETE). Spring надає подібні анотації для кожного HTTP-методу: @GetMapping, @PostMapping, @PutMapping, @PatchMapping.
Як витягнути змінну шляху з URL у Spring REST?
Яка перевага використання ResponseEntity<T> замість прямого повернення об'єкта?
+17 питань зі співбесід
Інші теми співбесід Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Логування за допомогою SLF4J та Logback
Spring Boot DevTools
Spring MVC Basics
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
Кешування зі 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 та симуляторів співбесід.
Почни безкоштовно