我正在使用Jersey Guice,需要配置一个自定义的< code>ExceptionMapper
我的模块看起来像这样:
public final class MyJerseyModule extends JerseyServletModule
{
@Override
protected void configureServlets()
{
...
filter("/*").through(GuiceContainer.class);
...
}
}
这是我的异常映射器
:
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();
}
}
您的ExceptionMapper必须用< code>@Provider进行注释,并且是单例的。
import com.google.inject.Singleton;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
@Provider
@Singleton
public class MyExceptionMapper implements ExceptionMapper<MyException>
{
@Override
public Response toResponse(final MyException exception)
{
return Response.status(Status.NOT_FOUND).entity(exception.getMessage()).build();
}
}
然后,只需将< code>ExceptionMapper绑定到您的< code>JerseyServletModule所在的同一个< code>Injector中的一个Guice模块中,Jersey Guice就会自动找到它。
import com.google.inject.AbstractModule;
public class MyModule extends AbstractModule
{
@Override
protected void configure()
{
...
bind(MyExceptionMapper.class);
...
}
}
如果您愿意,您也可以直接将其绑定在JerseyServletModule
中:
public final class MyJerseyModule extends JerseyServletModule
{
@Override
protected void configureServlets()
{
...
filter("/*").through(GuiceContainer.class);
bind(MyExceptionMapper.class);
...
}
}
我无法将Tosca扩展用于Chrome。当我安装扩展并尝试使用Tosca运行扫描时,它会显示以下消息 当我按下Yes(是)按钮时,它显示以下错误 无法解决此问题。此外,扩展从浏览器中消失,我不得不再次安装它。 谢啦
问题内容: 我最近安装了隐私vpn,事实证明启用的openvpn会破坏docker。 当我尝试运行时,出现以下错误 禁用vpn可以解决此问题(但是我宁愿不禁用它)。有什么办法可以使这两者和平共处?我使用debian jessie,并且我的openvpn具有以下版本字符串 很多人通过禁用openvpn来“解决”此问题,因此我专门询问如何使这两个工具同时工作。 如果这有什么不同,我的vpn提供程序是:
有没有示例代码演示如何在Jersey 2.0中使用guice-servlet?
我一直在使用minikube在本地测试库伯内特斯,在minikube中,我们可以通过使用命令来使用本地docker镜像。 我开始探索微型k8。在运行Ubuntu 18的机器上使用快照安装microk8。 除了创建本地 docker 注册表之外,有没有办法将本地 docker 映像与 microk8s 一起使用,就像我们使用 minikube 进行测试和开发一样? 命令也不工作,它显示: 命令‘mi
我正在尝试使JavaFX与VSCODE一起使用,但是遇到了此错误; 我安装了最新的 java“openjdk 17.0.1 2021-10-19”,并且使用的是最新的 javaFx17.0.1。我添加了所有引用库并添加了 vmArgs 路径文件。 我使用的是基本型号macbookpro m1。 这是我的vmArgs路径: 这是javafx lib文件夹中的内容:
问题内容: 我正在尝试开发一个JMS 独立应用程序 来读写MQSeries上的Queue。我的老板要求我使用 纯Java JMS (而不是ibm.mq lib)来执行此操作。 这是建立jms连接所需的信息: 您知道该怎么做?还是您有任何链接教我做到这一点。 问题答案: 这里的问题是“我的老板要求我使用纯Java JMS(不是ibm.mq lib)来做到这一点”的要求。JMS是一个规范,每个实现都必