Я пытаюсь настроить простой веб-сервис (развернуть на tomcat), который выглядит следующим образом:
@Path("/api")
public interface Api {
@GET
@Path("categ")
public String getCateg();
}
и у меня есть следующий класс, реализующий интерфейс:
public class RAPI implements API {
public String getCateg() { ... }
}
Мой web.xml выглядит следующим образом:
<servlet>
<servlet-name>API</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.api.resources</param-value> <!-- THIS IS CORRECT -->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>API</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
Но когда я пытаюсь выполнить развертывание на Tomcat, я получаю следующее (довольно ожидаемая ошибка):
com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
Который (не скопировал всю трассировку здесь) говорит мне, что, хотя он нашел интерфейс API, он не может его создать.
Как я могу объявить, какой из реализующих классов будет фактически действовать как веб-сервис REST?