2

内部 jar 依存関係にリソースが存在します (したがって、そのコードを変更することはできません)。

@Path("doStuff")
public class ExternalResource {
    @GET
    public Response getSomething() {
    }

いくつかのチェックを行うプレフィックス パスを使用して独自のリソースを作成する必要があり、パスした場合は、この外部リソースに処理を委任します。

@Path("api/check")
public class MyResource {
    @GET
    public Response check() {
    }

最終的に、誰かが GET /api/check/doStuff を呼び出したときに、チェックを行い、処理を外部リソースに委任したいと考えています。

ジャージーでそのようなことをするにはどうすればよいですか?

4

2 に答える 2

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();
  }
}
于 2013-06-13T15:52:23.667 に答える
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()
    }
}
于 2013-06-13T23:57:43.307 に答える