código HTTP 200 de retorno de la API REST de Primavera

Peter Penzov:

Quiero utilizar este código para recibir enlace http con los valores:

@PostMapping(value = "/v1/notification")
public String handleNotifications(@RequestParam("notification") String itemid) {
    // parse here the values
    return "result successful result";
}

¿Cómo puedo devolver el código http 200- respuesta exitosa?

Y también, por ejemplo, si hay una excepción código en el procesamiento de códigos cómo puedo devolver error 404?

lealceldeiro:

Puede hacerlo mediante la anotación de su método con el @ResponseStatususo de HttpStatus.OK(Sin embargo, debe ser 200por defecto), así:

algunos controlador

@PostMapping(value = "/v1/notification")
@ResponseStatus(HttpStatus.OK)
public String handleNotifications(@RequestParam("notification") String itemid) throws MyException {
    if(someCondition) {
       throw new MyException("some message");
    }
    // parse here the values
    return "result successful result";
}

Ahora, con el fin de devolver un código personalizado al manejar una excepción específica se puede crear un controlador separado todo para hacer esto (lo puede hacer en el mismo controlador, sin embargo) que se extiende desde ResponseEntityExceptionHandlery está anotado con @RestControllerAdvicey debe tener un método para manipulación que excepción específica como se muestra a continuación:

controlador de manejo de excepciones

@RestControllerAdvice
public class ExceptionHandlerController extends ResponseEntityExceptionHandler {

    @ExceptionHandler(MyException.class)
    protected ResponseEntity<Object> handleMyException(MyException ex, WebRequest req) {
        Object resBody = "some message";
        return handleExceptionInternal(ex, resBody, new HttpHeaders(), HttpStatus.NOT_FOUND, req);
    }

}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=182559&siteId=1
Recomendado
Clasificación