Несколько ExceptionMappers в Джерси

Предположим, у меня есть два ExceptionMappers:

public class WebApplicationExceptionMapper implements ExceptionMapper<WebApplicationException>
( class WebApplicationException extends RuntimeException )
public class GenericExceptionMapper implements ExceptionMapper<Throwable>

Если WebApplicationException или под исключение WebApplicationException бросили, какой преобразователь будет обрабатывать их? Может кто-нибудь, пожалуйста, объясните это?

Спасибо

1 ответ

Решение

Это указано в спецификации JAX-RS о ExceptionMappers

При выборе поставщика сопоставления исключений для сопоставления исключения реализация ДОЛЖНА использовать поставщика, универсальный тип которого является ближайшим суперклассом исключения.

В основном, это говорит о том, что ваш Throwable mapper будет иметь самый низкий приоритет, так как это самый дальний супертип из всех типов исключений. любой WebApplicationException или его подкласс всегда будет использовать WebApplicationException картограф.

Другие вопросы по тегам