java如何在Google Guice中使用Jersey ExceptionMapper?
我正在使用Jersey Guice,需要配置一个自定义ExceptionMapper
我的模块如下所示:
public final class MyJerseyModule extends JerseyServletModule
{
@Override
protected void configureServlets()
{
...
filter("/*").through(GuiceContainer.class);
...
}
}
这是我的ExceptionMapper
:
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
public class MyExceptionMapper implements ExceptionMapper<MyException>
{
@Override
public Response toResponse(final MyException exception)
{
return Response.status(Status.NOT_FOUND).entity(exception.getMessage()).build();
}
}
# 1 楼答案
您的ExceptionMapper必须用
@Provider
注释,并且是单例然后只需将
ExceptionMapper
绑定到与JerseyServletModule
相同的Injector
中的一个Guice模块中,Jersey Guice就会自动找到它如果您想: