Jerseyの@QueryParam
とGuiceの@Inject
を一緒にリソースコンストラクタで使用しようとしています。ウェブ上で見ていることから、鉱山に似た質問があったが、前に尋ねた:
How can I mix Guice and Jersey injection?
http://users.jersey.dev.java.narkive.com/zlGMXuBe/can-queryparam-be-used-in-resource-constructor-along-with-guice-injectionJerseyの@QueryParamとGuice注入をリソースコンストラクタで使用するにはどうすればよいですか?
を可能ではないようです。しかし、これらの質問は数年前ですから、私は今できることをしようとしていますか?
@Path("/mypath")
public class MyResource {
private Manager manager;
private String type;
@Inject
public MyResource(Manager manager,
@QueryParam("type") String type) {
this.manager = manager;
this.type = type;
}
@GET
@Produces("text/plan")
@Path("/{period}")
public String myMethod(@PathParam("period") String period) {
return manager.foo(period, type);
}
}
ありがとう:
は、ここで私は例として、何をしようとしているのいくつかのコードです!
これは意味がありませんか? 'MyResource'はシングルトンであり、すべてのリクエストを処理します。構築時には要求がないため、@ QueryParamはありません。 –
@ LanceJava Guice '@ Inject'のものを削除すると動作します。あなたはリクエストと一緒にクエリパラメータを渡すことができ、コンストラクタはあなたが渡したものにそれを設定します。 –
あなた自身のJerseyユーザではありません。 Spring MVCなどは、リクエストイベントハンドラではなく、シングルトンを使用します。私はジャージーインジェクタにguiceを差し込む必要があると思います –