Jersey + Guice не может смешивать ресурсы, не относящиеся к футболке, с ресурсами из трикотажа - PullRequest
3 голосов
/ 04 марта 2012

Как я могу использовать ресурсы, не относящиеся к джерси, с ресурсами джерси с guice?

Я хочу, чтобы "/" обрабатывался простым сервлетом.Но я хочу, чтобы "/ users" обрабатывалось трикотажем.

Скажем, у меня есть ресурс Джерси с @Path ("/ users").Использование следующих привязок не будет работать, он пытается отобразить запрос "/", используя джерси, который, конечно, не является ресурсом джерси, и я получаю 404.

protected void configureServlets() {
    serve("/").with(LoginServlet.class);
    serve("/*").with(GuiceContainer.class, params);
}

Все примеры джерси / guice Iможет найти что-то вроде serve("/rest/*".with(GuiceContainer.class, params);, которое работает для меня ("/ rest / users"), но я хочу красивые URI, у которых нет произвольного префикса, например, rest или ws.

1 Ответ

5 голосов
/ 08 марта 2012

У вас неоднозначное совпадение с "/" и "/*".

Для этого вы можете использовать версию метода serve, которая допускает регулярное выражение, а не простой шаблон.

Например, что-то вроде этого может работать:

serve("/").with(LoginServlet.class);
serveRegex("/.+").with(GuiceContainer.class, params);

Для отображения GuiceContainer теперь требуется хотя бы один символ после косой черты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...