Jersey Dropwizard:Dropwizard guicey子资源定位器
我正在将我的应用程序从Jersey2/HK2迁移到Dropwizard。我正在使用dropwizard guicey将Guice集成到我的应用程序中,同时维护我的一些HK2绑定/功能 Dropwizard guicey默认绑定singleton范围内的所有资源,这让我想知道——在这种情况下,绑定子资源的建议方法是什么?在泽西岛,我可以做一些简单的事情Jersey Dropwizard:Dropwizard guicey子资源定位器,jersey,guice,dropwizard,Jersey,Guice,Dropwizard,我正在将我的应用程序从Jersey2/HK2迁移到Dropwizard。我正在使用dropwizard guicey将Guice集成到我的应用程序中,同时维护我的一些HK2绑定/功能 Dropwizard guicey默认绑定singleton范围内的所有资源,这让我想知道——在这种情况下,绑定子资源的建议方法是什么?在泽西岛,我可以做一些简单的事情 @Path("{pathParamId}/sub-resource") public Class<MySubResource> myS
@Path("{pathParamId}/sub-resource")
public Class<MySubResource> mySubResource() {
return MySubResource.class;
}
Dropwizard似乎无法获取Guice在MySubResource中绑定的依赖项,因为这些资源都是由Jersey管理的
我最终要寻找的是Jersey默认为资源和Guice提供的每请求绑定,以便在该级别下进行注入。在您的示例中,根资源将由Guice(安装者)管理,子资源将由HK(每请求)创建 要在子资源中使用guice服务,您需要启用:
- 添加
dependencyorg.glassfish.hk2:guice桥:2.5.0-b32
- 使用
选项启用桥接选项(GuiceyOptions.UseHkBridge,true)
我将样本添加到回购协议中。它还显示了如何使用纯guice实现您的案例。在您的示例中,根资源将由guice管理(由安装者),子资源将由HK创建(根据请求) 要在子资源中使用guice服务,您需要启用:
- 添加
dependencyorg.glassfish.hk2:guice桥:2.5.0-b32
- 使用
选项启用桥接选项(GuiceyOptions.UseHkBridge,true)
public class MySubResource {
private String id;
public MySubResource(@PathParam("pathParamId") id) {
this.id = id;
}
}