Spring REST Controllers
API REST con @RestController, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, ResponseEntity
1Qual è la differenza principale tra @RestController e @Controller?
Qual è la differenza principale tra @RestController e @Controller?
Risposta
@RestController è un'annotazione composita che combina @Controller e @ResponseBody. Questo significa che tutti i metodi di un @RestController restituiscono automaticamente dati serializzati (JSON/XML) invece di risolvere una view. @RestController è ideale per creare API REST, mentre @Controller viene usato per le applicazioni web tradizionali con view HTML.
2Qual è il ruolo dell'annotazione @RequestBody in un metodo REST?
Qual è il ruolo dell'annotazione @RequestBody in un metodo REST?
Risposta
@RequestBody indica a Spring di deserializzare il corpo della richiesta HTTP (tipicamente JSON o XML) in un oggetto Java. Spring usa un HttpMessageConverter (come Jackson per JSON) per eseguire questa conversione automaticamente. Questo è essenziale per ricevere dati complessi nelle richieste POST o PUT.
3Quale annotazione dovrebbe essere usata per mappare una richiesta HTTP DELETE?
Quale annotazione dovrebbe essere usata per mappare una richiesta HTTP DELETE?
Risposta
@DeleteMapping è un'annotazione specializzata introdotta in Spring 4.3 per mappare le richieste HTTP DELETE in modo conciso. È una scorciatoia per @RequestMapping(method = RequestMethod.DELETE). Spring fornisce annotazioni simili per ogni metodo HTTP: @GetMapping, @PostMapping, @PutMapping, @PatchMapping.
Come estrarre una variabile di percorso dall'URL in Spring REST?
Qual è il vantaggio di usare ResponseEntity<T> invece di restituire direttamente un oggetto?
+17 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
Padroneggia Spring Boot per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis