JAX-RS ile uğraştım ve JSON üreten REST servislerini arayan bir uygulama yaptım. Jersey'i denedim ve her şey yolunda gitti, ama benim uygulama JDK5 ile inşa edilmesi gerektiğinden RESTEasy'a geçmek zorunda kaldım. Böyle bir şey benim web.xml değiştirdi: RESTEasy - @Path tam bir yol mu gerektiriyor?
<web-app>
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>
<servlet>
<servlet-name>RESTEasy</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RESTEasy</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<!-- ... -->
</web-app>
yüzden her URL RESTEasy tarafından ele alınması/geri kalanı ile başlayan bekliyoruz. şöyle Benim hizmetler şunlardır: Bu Jersey kullanarak iyi çalıştı
@Path("/services")
public class MyRESTServices {
@GET
@Path("service1")
@Produces(MediaType.APPLICATION_JSON)
public Object service1(Blah blah) {
}
}
, http://localhost/MyContext/rest/services/service1 benim Service1() yöntemine bağlandı. Tam yolun/dinlenme/hizmet/Service1: http://localhost/MyContext/rest/services/service1
Hangi anlamına gelir - göreli için kaynağı bulunamadı
HTTP Durum 404: Ben RESTEasy için değiştirdiğinizde, olsa da, bir 404 vardı RESTEasy isteği ele aldı ancak bu URL'ye bağlı herhangi bir hizmet bulamadı.
Sınıfımda,
@Path("/services")
-@Path("/rest/services")
arasında değişiklik yapıldı. Bu garip davranışa neden sahip olduğum hakkında bir fikrin var mı? G/dinlenme önek dahil sadece göreli yolları, Mentionned okumak Bütün öğreticiler/docs ...
RESTEasy'yi dahili olarak nasıl yapılandırıyorsunuz? CXF ile, Spring yapılandırma dosyasındaki '/ rest' parçasının kaldırılmasını yapılandırmak zorundayım. –
Web.xml'de görebileceğiniz şeyleri başka bir şekilde yapılandırmıyorum (ek açıklamaları tara). Kaldırma işleminin yapılıp yapılamayacağını göreceğim. –
Utanç ver, bu benim dokümanlardaki önümdeydi: "Resteasy servlet sunucunuzun maplet eşlemesi başka bir URL modeline sahipse, resteasy.servlet.mapping.prefix değişkeni ayarlanmalıdır./* " –