[英]How to pass parameters to REST resource using Jersey 2.5
我有一台为客户服务的Java服务器(不是应用程序服务器)。
现在,我有兴趣添加REST支持。 我已经初始化了Jetty服务器并创建了一些REST资源。
我的问题是: 如何在创建REST资源时传递参数?
通常,我更喜欢每种资源的构造函数,但我不控制它。
我了解有一种注入依赖项的方法。 如何使用Jersey 2.5做到这一点?
谢谢!
定义您的应用
public class MyApplication extends ResourceConfig {
public MyApplication() {
register(new FacadeBinder());
register(JacksonFeature.class);
register(MyEndpoint.class);
}
配置注入
public class FacadeBinder extends AbstractBinder {
@Override
protected void configure() {
bind(MyManager.class).to(MyManager.class);
}
}
在终端中注入已配置的类
@Path("/jersey")
public class MyEndpoint {
@Inject
MyManager myManager;
...
}
我不确定您对依赖项的含义。
您应该检查以下内容: https : //jersey.java.net/documentation/latest/user-guide.html#d0e1810
除了使用依赖注入之外,另一个选择是自己实例化和注册REST端点。 Jersey允许您以与依赖注入类似的方式执行此操作,如Dymtro的示例所示。 从Dymtro大量借用,定义您的端点:
@Path("/jersey")
public class MyEndpoint {
private MyManager myManager;
public MyEndpoint(MyManager myManager) {
this.myManager = myManager;
}
....
}
定义您的应用程序:
public class MyApplication extends ResourceConfig {
public MyApplication(MyManager myManager) {
register(JacksonFeature.class);
register(new MyEndpoint(myManager));
....
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.