RESTEasy - @Path требует полного пути?

Я возился с JAX-RS и создал приложение, которое вызывает службы REST, которые создают JSON. Я попробовал Джерси, и все прошло нормально, но мне пришлось переключиться на RESTEasy, так как мое приложение должно быть построено с JDK5. Я изменил свой web.xml на что-то вроде этого:



    resteasy.scan
    true



    
     org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
    



    RESTEasy
    org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher


    RESTEasy
    /rest/*



Поэтому я ожидаю, что каждый URL, начинающийся с / rest, будет обрабатываться RESTEasy. Мои услуги следующие:

@Path("/services")
public class MyRESTServices {

    @GET
    @Path("service1")
    @Produces(MediaType.APPLICATION_JSON)
    public Object service1(Blah blah) {

    }
}

Это нормально работало с Джерси, http: // localhost / MyContext / rest / services / service1 был привязан к моему методу service1 (). Однако когда я перешел на RESTEasy, у меня было 404:

HTTP-статус 404 - не удалось найти ресурс для относительного: / rest / services / service1 полного пути: http: // localhost / MyContext / rest / services / service1

Это означает, что RESTEasy обработал запрос, но не смог найти никакой службы, привязанной к этому URL.

В моем классе изменение @Path ("/ services") на Однако @Path ("/ rest / services") работал. Ты хоть представляешь, почему у меня такое странное поведение? Все учебники / документы, которые я читал, упоминали только относительные пути, не включая префикс / rest ...

17
задан Bastien Jansen 9 November 2010 в 09:05
поделиться