Ich versuche, Jerseys @QueryParam
und Guices @Inject
zusammen in einem Ressourcenkonstruktor zu verwenden. Von der Suche im Web hat es ähnliche Fragen gewesen Mine vor gefragt:
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-injectionWie kann ich die @QueryParam- und Guice-Injektion von Jersey in einem Ressourcenkonstruktor verwenden?
Es scheint, es ist nicht möglich. Diese Fragen sind jedoch mehrere Jahre alt, also was versuche ich jetzt zu tun?
Hier ist ein Code von dem, was ich versuche, als Beispiel zu tun:
@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);
}
}
Dank!
Das macht keinen Sinn? 'MyResource' ist ein Singleton und behandelt alle Anfragen. Zum Zeitpunkt der Erstellung gibt es keine Anfrage und daher auch kein '@ QueryParam'. –
@LanceJava Wenn Sie das Guice '@ Inject'-Zeug entfernen, funktioniert es. Sie können einen Abfrageparameter mit der Anfrage übergeben und der Konstruktor wird es auf alles setzen, was Sie übergeben haben. –
Ok, kein Jersey Benutzer selbst. Spring mvc usw. verwenden Singletons anstatt pro Anfrage Eventhandler. Ich kann nur annehmen, dass Sie irgendwie in den Jersey Injektor stecken müssen –