У меня есть Java-сервлет на основе Джерси:
@Path("foo")
class Foo {
@GET
@Path("bar")
public Response bar(@QueryParam("key") String value) {
// ...
}
}
Я могу назвать это в Tomcat просто так:
http://localhost:8080/container/foo/bar?key=blah
Однако в моем JerseyTest с использованием Grizzly он неправильно обрабатывает параметры. Этот тестовый пример возвращает ошибку 404:
@Test
public void testBar() {
final Response response = target("foo/bar?key=blah").request().get();
}
Я подозреваю, что проблема в том, что он ищет ресурс с именем foo/bar?key=blah
, а не пытается передать key=blah
ресурсу по адресу foo/bar
. Если я передам только "foo/bar"
в target()
, я получу 500, так как код выдает исключение для нулевого параметра.
Я просмотрел документацию по тесту Джерси и несколько примеров, и я нашел некоторые загадочные вещи, которые могли быть для передачи параметров в GET, но ни один из них не выглядел так, как будто он присваивал значения параметрам, поэтому я не был уверен, как Я бы использовал это.
Как я могу передать свое значение для этого параметра?