Repaso
English

¿Qué hace este endpoint?

@RestController
@RequestMapping("/api/users")
public class UserController {

    @GetMapping("/{id}")
    public User get(@PathVariable Long id) {
        return userService.findById(id);
    }
}

Opciones

  1. Responde a GET /api/users/42 con el usuario en JSON (Opción correcta)
  2. Responde a POST /api/users y crea un usuario nuevo
  3. Lee id del cuerpo JSON de la petición
  4. 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.

Términos clave

Practica esta pregunta en Repaso