Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Para crear nuestros servicios REST debemos seguir las buenas prácticas que están definidas en esta página de la wiki: Buenas prácticas con servicios REST

Devolver ResponseEntity o ResponseStatusException

En los métodos en los que devolvamos datos, si se devuelven los datos correctamente devolveremos objetos tipo ResponseEntity. Este tipo nos da más flexibilidad, permitiendo modificar la respuesta HTTP entera, controlando el código que se devuelve, los headers y los datos del body.

Un ejemplo de uso sería el siguiente. Para crear unResponseEntityun ResponseEntity que devuelva un objetoobjeto UsuarioDTO, y códigocódigo OK 200:

Bloque de código
languagejava
@GetMapping(value = "/usuarios", params = "login")
public ResponseEntity<UsuarioDTO> usuariosLogin(@RequestParam login) {
  // ...
  return new ResponseEntity<>(usuarioDto, HttpStatus.OK);
}

También podríamos mandar un400 Forbiddenasí:En el caso de que queramos devolver un error, por ejemplo, un Forbidden porque el usuario que ha solicitado un recurso no tiene acceso, lanzaremos una excepción ResponseStatusException, pues esta nos ofrece más información en la respuesta que se da. 

Bloque de código
languagejava
return} catch (Exception e) {
    throw new ResponseEntity<>ResponseStatusException( HttpStatus.FORBIDDEN, "FORBIDDEN con ResponseStatusException", e);
}

Controlador REST en Spring Boot

...