¿Qué anotación lee un cuerpo JSON de la petición en un objeto Java?
Opciones
@PathVariable@RequestParam@RequestBody(Opción correcta)@ResponseBody
Respuesta
@RequestBody
Por qué
@RequestBody le dice a Spring que lea el cuerpo HTTP (normalmente JSON) y lo convierta en el parámetro Java con Jackson.
@RequestParam lee los parámetros de query (/search?name=ana), @PathVariable lee partes de la ruta.
@ResponseBody es la dirección contraria (de objeto a cuerpo); @RestController ya la aplica a todos los métodos.
@PostMapping
public ResponseEntity<User> create(@Valid @RequestBody CreateUserRequest req) {
User created = userService.create(req);
return ResponseEntity.status(HttpStatus.CREATED).body(created); // 201
}Recuerda
Cuerpo = @RequestBody. Query = @RequestParam. Ruta = @PathVariable.