Cómo devolver el código de estado http para excepciones en los servicios de descanso

En mi aplicación tengo diferentes capas, como la capa de descanso, la capa de servicio y la capa de base de datos, de acuerdo con los escenarios comerciales, estoy sacando diferentes excepciones comerciales de la capa de servicio.

Pero ahora, tengo que configurar diferentes códigos HTTP como 400, 403, 409, 412 ... para las respuestas REST.

¿Cómo puedo configurar diferentes códigos de estado HTTP basados ​​en diferentes escenarios?

¿Cuál es la forma más factible como: aspecto, mapeador de excepciones o ...?

Dado que puedo configurar el estado HTTP solo una vez en la capa de descanso ( referido a esto), no puedo asignar a diferentes códigos HTTP porque mi excepción es de la capa de servicio.

Mi clase de excepción se ve así:

public class BusinessException extends RuntimeException {
    private static final long serialVersionUID = 1L;

    public BusinessException(ErrorEnumeration error) {

    }
    public BusinessException(Exception e, ErrorEnumeration error) {

    }
}

y la excepción se lanzará del servicio de esta manera:

 throw new BusinessException(ErrorEnumeration.VALIDATION_FAILED);

Por favor ayuda sugiriendo una solución

Respuesta 1

Dado que básicamente quiero eliminar el uso de excepciones comprobadas y transformarlas en excepciones de tiempo de ejecución, normalmente estaría haciendo algo como esto: try {file.read (); } catch (IOException e) ...

¿Cuál es la diferencia entre el método pattern () y el método toString () en la clase Pattern? El documento dice: public String pattern () Devuelve la expresión regular a partir de la cual este patrón ...

Tengo una marca de tiempo en json que es de un servidor Linux. Me gustaría convertirlo a un formato simple de fecha y hora utilizando Java. Necesito la fecha y la hora en el siguiente formato: dd-mm-aaaa hh: mm: ss ...

Quiero calcular el delta del tiempo, una resta, entre dos objetos XmlGregorianCalendar, para crear un objeto Duration. Pero no he encontrado formas limpias de realizar esa resta. Cómo ...