Подстановочные знаки в сопоставлениях HttpHandler гризли

Я пытаюсь сопоставить MyHttpHandler с пользовательским URL-адресом, используя веб-сервер grizzly 2.3, подобный этому (это должен быть URL-адрес RESTfull, например /entity/42/attribute):

HttpServer httpServer = HttpServer.createSimpleServer();
ServerConfiguration config = httpServer.getServerConfiguration();
config.addHttpHandler(new MyHttpHandler(), "/entity/*/attribute");

Это не работает. Как я могу сделать это в гризли?


person Oroboros102    schedule 14.08.2014    source источник
comment
Похоже, о гризли мало кто знает. Итак, я решил вместо этого использовать netty (я знаю, это не то же самое. Netty более низкого уровня). Теперь у меня есть примитивный обработчик маршрутизации в netty с шаблонами, строками и всем, что я хочу.   -  person Oroboros102    schedule 22.08.2014


Ответы (1)


Для версии 2.3.17 grizzly-http-server я вижу, что addHttpHandler(HttpHandler httpHandler, String... mappings) создает экземпляры HttpHandlerRegistration из строк сопоставления:

ServerConfiguration#addHttpHandler (на grepcode.com)

В Javadoc метода fromString упоминается, что поддерживаются подстановочные знаки "*":

HttpHandlerRegistration#fromString (на grepcode.com)

person oldo    schedule 13.02.2015
comment
Если вы используете Maven, вы можете разрешить своей среде IDE загружать исходные коды артефактов гризли Maven и выполнять код в отладчике. Возможно, есть ошибка или неправильное понимание того, как интерпретируется подстановочный знак в сопоставлении. - person oldo; 13.02.2015