我有一个资源存在于内部jar依赖项中(因此,我无法更改它的代码):
@Path("doStuff")
public class ExternalResource {
@GET
public Response getSomething() {
}
我需要创建自己的资源,使用前缀路径进行一些检查,如果它们通过,我想将处理委托给这个外部资源。
@Path("api/check")
public class MyResource {
@GET
public Response check() {
}
最终,有人打电话给GET / api / check / doStuff 我想要进行检查并将处理委托给外部资源。
我怎么能在泽西岛做类似的事情?
答案 0 :(得分:0)
ExternalResource instance = [use here your ioc if used or new ExternalResource]
@Path("api/check")
public class MyResource {
@GET
public Response check() {
return instance.getSomething();
}
}
答案 1 :(得分:0)
我为此目的使用CDI @Inject,但是如果你的ExternalResource不是@ManagedBean那么这将不起作用......
您可以尝试使用Jersey的@InjectParam?
import com.sun.jersey.api.core.InjectParam;
@Path("api/check")
public class MyResource {
@InjectParam
private ExternalResource extResource;
@GET
public Response check() {
return extResource.getSomething()
}
}