[英]WildFly Could not find resource for full path (no XML, using commandline deployment)
[英]Wildfly 10 + Rest Easy web service. Getting Could not find resource for full path error
我的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.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
我的Rest服務的類如下:
@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 {
}
}
我正在呼叫此休息服務: http:// localhost:8080 / DSPRODUCTCATALOG2 / rest / api / catalogManagement / v2 / catalog?depth = 5
但我得到:
21:17:53,739 ERROR [org.jboss.resteasy.resteasy_jaxrs.i18n] (default task-1) RESTEASY002010: Failed to execute: javax.ws.rs.NotFoundException: RESTEASY003210: Could not find resource for full path: http://localhost:8080/DSPRODUCTCATALOG2/rest/api/catalogManagement/v2/catalog?depth=5
at org.jboss.resteasy.core.registry.ClassNode.match(ClassNode.java:75)
at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48)
at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:445)
我相信這是問題所在:
@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>
在您的Web .xml中,作為javax.ws.rs.core.Application根本不是servlet。 相反,您必須像這樣配置。
@ApplicationPath("/<your path>")
public class ApplicationReSTService extends Application {
}
同樣,在相對路徑中使用正斜杠也沒有問題。
我想您在Application類(或Config類)中重寫了“ getClasses”方法。 結果,如果這些類不存在,則看不到配置...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.