Java Wildfly 10+;RESTEasyWeb服务。获取无法找到完整路径错误的资源
我的Web.xml如下所示:Java Wildfly 10+;RESTEasyWeb服务。获取无法找到完整路径错误的资源,java,rest,wildfly-10,Java,Rest,Wildfly 10,我的Web.xml如下所示: <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
@ApplicationPath("/api/catalogManagement/v2")
public class ApplicationConfig extends ResourceConfig
@Stateless
@Path("/catalog")
public class CatalogFacadeREST extends AbstractFacadeREST<CatalogEntity> {
@GET
@Produces({MediaType.APPLICATION_JSON})
public Response find(@QueryParam("depth") int depth, @Context UriInfo uriInfo) throws BadUsageException {
}
}
我的休息服务如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
@ApplicationPath("/api/catalogManagement/v2")
public class ApplicationConfig extends ResourceConfig
@Stateless
@Path("/catalog")
public class CatalogFacadeREST extends AbstractFacadeREST<CatalogEntity> {
@GET
@Produces({MediaType.APPLICATION_JSON})
public Response find(@QueryParam("depth") int depth, @Context UriInfo uriInfo) throws BadUsageException {
}
}
我相信这就是问题所在:
@ApplicationPath("/api/catalogManagement/v2")
应该是,没有前导斜杠
@ApplicationPath("api/catalogManagement/v2")
我认为这就是问题所在:
@ApplicationPath("/api/catalogManagement/v2")
应该是,没有前导斜杠
@ApplicationPath("api/catalogManagement/v2")
当然,您的配置存在一些问题。你不必添加
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
javax.ws.rs.core.Application
/休息/*
在web.xml中,作为javax.ws.rs.core.Application根本不是servlet。相反,您必须这样配置
@ApplicationPath("/<your path>")
public class ApplicationReSTService extends Application {
}
@ApplicationPath(“/”)
公共类ApplicationReSTService扩展应用程序{
}
此外,在相对路径中使用正斜杠也没有问题。当然,您的配置存在一些问题。你不必添加
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
javax.ws.rs.core.Application
/休息/*
在web.xml中,作为javax.ws.rs.core.Application根本不是servlet。相反,您必须这样配置
@ApplicationPath("/<your path>")
public class ApplicationReSTService extends Application {
}
@ApplicationPath(“/”)
公共类ApplicationReSTService扩展应用程序{
}
在相对路径中使用正斜杠也没有问题。我想您已经在应用程序类(或配置类)中重写了“getClasses”方法。因此,如果这些类不存在,那么配置就不可见…我猜您已经在应用程序类(或配置类)中重写了“getClasses”方法。因此,如果这些类不存在,则配置不可见…我正在使用jersey类,例如:import org.glassfish.jersey.server.ResourceConfig;在ApplicationConfig Java文件中。但是Wildfly 10默认使用Rest Easy。这会导致问题吗?我正在使用jersey类,例如:import org.glassfish.jersey.server.ResourceConfig;在ApplicationConfig Java文件中。但是Wildfly 10默认使用Rest Easy。这会引起问题吗?