IntelliJ: Как представить API с помощью JAX WS RS и @ApplicationPath

Это, вероятно, дубликат Как развернуть приложение JAX-RS? но ответ не соответствует действительному факту.

Итак, вот проблема:

У меня есть корневой класс, который обычно предоставляет n веб-сервисов:

@ApplicationPath("/api")
public class API extends Application {

    @Override
    public Set<Class<?>> getClasses() {
        return getRestResourceClasses();
    }

    /**
     * Get the Rest resource classes.
     * @return the rest resource classes
     */
    private Set<Class<?>> getRestResourceClasses() {
        Set<Class<?>> resources = new java.util.HashSet<Class<?>>();
        resources.add(com.xxx.services.AuthService.class);
        ...
        resources.add(com.xxx.services.SimpleService.class);
        resources.add(com.xxx.tools.ResponseCorsFilter.class);
        return resources;
    }
}

и класс RESTService, как:

@Path("/math")
@Produces(MediaType.APPLICATION_JSON)
public class SimpleService {

    private static Integer stack;

    @GET
    @Path("/add/{a}/{b}")
    public String add(@PathParam("a") Integer a, @PathParam("b") Integer b) {
        return Integer.toString(a + b);
    }

    @GET
    @Path("/mult/{a}/{b}")
    public String mult(@PathParam("a") Integer a, @PathParam("b") Integer b) {
        return Integer.toString(a * b);
    }

    @PUT
    @Path("/stack")
    public String put(final Integer toStack) {
        stack = toStack;
        return Integer.toString(stack);
    }

}

Обычно после добавления сервера Glassfish, например:Конфигурация отладки / запуска

и запустить решение с помощью intelliJ, я могу получить доступ к своему веб-сервису, например:

http://localhost:8080/mediaweb/api/math/add/2/3

но ничего... стеклянную рыбу киньте 404.

но intelliJ покажет мне все мои веб-сервисы в отладчике:

Вкладка Java для предприятий в IntelliJ

Как я могу отладить это?

0 ответов

Другие вопросы по тегам