Set Abfrage-Parameter auf ein Trikot Testanruf
Ich habe eine Jersey-basierte Java-servlet:
@Path("foo")
class Foo {
@GET
@Path("bar")
public Response bar(@QueryParam("key") String value) {
//...
}
}
Kann ich es nennen, der in Tomcat ganz gut als:
http://localhost:8080/container/foo/bar?key=blah
Jedoch in meiner JerseyTest, mit Grizzly, es ist nicht die Handhabung der Parameter korrekt. Dieser Testfall liefert einen 404-Fehler:
@Test
public void testBar() {
final Response response = target("foo/bar?key=blah").request().get();
}
Ich vermute, das Problem ist, es ist auf der Suche für eine Ressource mit dem Namen foo/bar?key=blah
anstatt zu versuchen, pass key=blah
um die Ressource zu foo/bar
. Wenn ich pass nur "foo/bar"
zu target()
bekomme ich einen 500, wie der code löst eine Ausnahme für einen ungültigen parameter.
Ich schaute durch den Trikot-Test-Dokumentation und einige Beispiele, und ich fand einige unverständliche Sachen suchen, der vielleicht für die übergabe von Parametern an eine BEKOMMEN, aber keiner davon sah aus wie es war die Zuweisung von Werten zu Parametern, so war ich nicht positiv, wie ich es verwenden würde.
Wie kann ich meinen Wert für diesen parameter?
InformationsquelleAutor der Frage kwiqsilver | 2014-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
JavaDoc zu WebTarget.queryParam() sollte Ihnen eine Antwort auf Ihr problem. Im Grunde müssen Sie verwandeln Sie Ihren code so etwas wie:
InformationsquelleAutor der Antwort Michal Gajdos