es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear y Devolver un código de respuesta Http personalizado en Java Spring Boot.

Quiero crear un código de estado HTTP personalizado y quiero devolverlo junto con la respuesta para casos de uso específicos. No puedo utilizar los códigos de estado como OK, ACCEPTED, etc.

“`java
@RequestMapping(value = "/status/test", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<test> testStatus(@RequestBody Test test)
throws Exception {
// el siguiente código es para el código de estado 200

HttpStatus httpStatus = HttpStatus.OK;

// la declaración anterior declara el httpStatus con el código 200, pero quiero crear
// un código personalizado como 234

return new ResponseEntity<test>(test, httpStatus);
}
“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear un código de estado HTTP personalizado, puedes extender la clase HttpStatus y agregar tu propio código. Aquí tienes un ejemplo:

    public final class CustomHttpStatus extends HttpStatus {
        public static final CustomHttpStatus MY_CUSTOM_CODE = new CustomHttpStatus(234, "Mi Código Personalizado");
    
        public CustomHttpStatus(int valor, String fraseRazón) {
            super(valor, fraseRazón);
        }
    }
    

    Ahora que tienes tu código de estado HTTP personalizado, puedes usarlo en tu código de la siguiente manera:

    @RequestMapping(value = "/status/test", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<test> testStatus(@RequestBody Test test) throws Exception {
        CustomHttpStatus httpStatus = CustomHttpStatus.MY_CUSTOM_CODE;
    
        return new ResponseEntity<test>(test, httpStatus);
    }
    

    Ahora tu respuesta tendrá un código de estado HTTP personalizado de 234.

Comments are closed.