我正在使用 RESTEasy Spring MVC 集成(springmvc-resteasy 使用 RestEasy 2.0,Spring 3.0)我想通过声明 RESTEasy 异常映射提供程序将我的应用程序异常映射到 HTTP 响应。目前我的应用程序没有显式扩展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);
}
}
当我的应用程序抛出 aMyAppException
时,它不会映射到 HTTP-400 响应(我从框架中获得了通常的 HTTP-500)
有什么我想念的吗?如果这是没有向框架“注册”提供程序的问题,当我使用 springmvc-resteasy 时如何注册我的异常映射器?
谢谢。