¿Qué hace este endpoint?
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping("/{id}")
public User get(@PathVariable Long id) {
return userService.findById(id);
}
}Opciones
- Responde a
GET /api/users/42con el usuario en JSON (Opción correcta) - Responde a
POST /api/usersy crea un usuario nuevo - Lee
iddel cuerpo JSON de la petición - Elimina el usuario que tiene el id de la ruta
Respuesta
Responde a GET /api/users/42 con el usuario serializado en JSON, donde id = 42
Por qué
@RestController significa que cada método devuelve datos escritos directamente en el cuerpo de la respuesta HTTP (Spring convierte el objeto a JSON con Jackson).
@RequestMapping("/api/users") da la ruta base, @GetMapping("/{id}") gestiona las peticiones GET y @PathVariable toma el valor de la URL.
Así que GET /api/users/42 llama a get(42).
Recuerda
@PathVariable = de la ruta de la URL. @RequestParam = de la ?query. @RequestBody = del cuerpo.