我想在資源構造函數中一起使用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-injection如何在資源構造函數中使用Jersey的@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等使用單例而不是每個請求事件處理程序。我只能假設你需要以某種方式將吉斯插入澤西島噴油器 –