...
Es aconsejable usar estos códigos de estado HTTP mediante el enumerado org.springframework.http.HttpStatus.En el siguiente apartado se muestran ejemplos de cómo construir respuestas y usar estos códigos.
| Bloque de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
//EJEMPLO ResponseEntity con éxito
public ResponseEntity<String> simpleAsyncTask( @RequestParam( defaultValue = "60" ) long t,
@RequestParam( defaultValue = "1" ) long sleep ) throws InterruptedException {
String result = "";
log.info( "Entro en simpleAsyncTask {} - {}", t, sleep );
final CompletableFuture<String> asyncStatus = service.asyncMethod( sleep * 1000, t );
result = asyncStatus.getNow( "ko" );
log.info( "Salgo de simpleAsyncTask" );
return ResponseEntity.ok( result );
}
//EJEMPLO ResponseEntity con error
@ExceptionHandler( TestLocalHandlerException.class )
public ResponseEntity<TestLocalHandlerError> handleTestLocalHandler( TestLocalHandlerException ex ) {
final TestLocalHandlerError error = TestLocalHandlerError.builder()
.estado( HttpStatus.INTERNAL_SERVER_ERROR ).fecha( LocalDateTime.now() )
.mensaje( ex.getMessage() ).build();
return ResponseEntity.status( HttpStatus.INTERNAL_SERVER_ERROR ).body( error );
} |
...
Guía detallada
Spring Boot proporciona varios mecanismos para capturar excepciones (global o localmente) y devolver mensajes de error (estándar o personalizados). Estos mecanismos han ido evolucionando con las diversas versiones del framework y, en algunos casos, pueden llegar a solaparse.
...