Я использую интеграцию RESTEAsy Spring MVC (springmvc-resteasy с использованием RestEasy 2.0, Spring 3.0) Я хотел бы сопоставить исключения моего приложения с ответами HTTP, объявив поставщиков сопоставления исключений RESTEasy.В настоящее время мое приложение явно не расширяет javax.ws.rs.core.Application
, и в идеале я хотел бы полагаться на автоматическое сканирование каркасов поставщиков сопоставлений исключений.
Вот как выглядит один из моих картографов исключений.
@Provider public class MyAppExceptionMapper implements ExceptionMapper<MyAppException> {
public Response toResponse(MyAppException exception) {
return Response.status(Response.Status.BAD_REQUEST).build();
}
}
И мой класс исключений выглядит следующим образом
public class MyAppException extends RuntimeException {
public MyAppException(String s, Throwable t) {
super(s,t);
}
}
Когда мое приложение выдает MyAppException
, оно не сопоставляется с ответом HTTP-400 (я получаю обычныйHTTP-500 из фреймворка)
Что-то мне не хватает?Если проблема заключается в том, что я не «регистрирую» провайдера в платформе, как я могу зарегистрировать свои средства отображения исключений, когда использую springmvc-resteasy?
Спасибо.