簡體   English   中英

Wildfly 10 + Rest Easy網絡服務。 獲取找不到完整路徑錯誤的資源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM