Jersey который я использую, реализован на спецификации JAX-RS 2.x
я решил заменить web.xml В этой части:
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-
class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.skillsimprover.restexamples.rest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
Я указываю на контейнер сервлета jersey, который будет принимать запросы к rest-контроллерам, указываю что при загрузке нужно просканировать пакет rest по пути com.skillsimprover.restexamples.rest, и указываю, что базовый URI для всех методов и классов ресурса, начинтается с /api/*
Начиная с версии JAX-RS 2.x , можно использовать классы Application или ResourceConfig, для регистрации пакетов и ресурсов.
Я выполнил код так:
@ApplicationPath("api")
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
packages("com.skillsimprover.restexamples.rest");
register(EmployeApi.class);
}
}
Тем самым это должно было бы указать, какой пакет и в нем под пакеты нужно сканировать. С помощью аннотации @ApplicationPath("api"), я думал заменить
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
Но ничего не работает.
В чем может быть ошибка? И почему нужно указывать классы ресурсов, ведь я же указал пакет для сканирования?
Почему же этот способ не заменяет web.xml и как заменить web.xml?
А если классов ресурса может быть много, их в большом количестве нужно будет регистрировать ? То есть использование web.xml лучше ?
Или это можно обойти?
Пытаюсь запустить приложение JavaFX, ловлю exception in Application start methodЕсть подозрение, что проблемы в пути к файлу
Прочитал эти статьи по теории масок, но не уверен, что понял всё правильно
Хочу достать текст анекдота через данный API, но JSON приходит в формате [{"text:"abcdefgh"}] и из-за [] parse не работает, как получить нужные данные?