Ответы пользователя по тегу Maven
  • Java стенделон сервер с РЕСТом и статическим вебом - как решить проблему?

    @iryndin
    Маппинг "/" означает, что у вас соответствующим хэндлером будут обрабатываться все пути, начинающиеся с "/", то есть и "/" и "/api".

    Соответственно, когда маппинг установлен на "/www", то установленным хэндлером обрабатываются пути, начинающиеся с "/www". Пути, начинающиеся с "/api" он уже не обрабатывает, и именно поэтому ваш рест-хендлер (кстати, в приведенном вами коде не видно рест-обработчика) и работает (т.е. обслуживает запросы по пути "/api").

    Все эти веб-сервера (томкат, гриззли, джетти и т. п.) ищут соответствующий хэндлер по урлу очень просто: они пробегаются по списку хэндлеров и сравнивают их маппинги с пришедшим урлом. Первый подошедший хэндлер и будет обрабатывать запрос по этому урлу. Для того, чтобы поместить статику на "/", а рест-апи на "/api", вам просто нужно расположить маппинг на "/api" в самом начале списка хэндлеров, а маппинг на самый общий путь ("/") в самом конце. Тогда все будет отрабатывать корректно.
    Ответ написан
    Комментировать