繁体   English   中英

Resteasy路径JBoss

[英]Resteasy paths JBoss

我在localhost上使用resteasy 2.1导航到我的Restful服务时遇到了麻烦,希望这里的某人能够为我提供帮助。

我已经建立了一个带有WAR的EAR文件,并且似乎可以编译并部署到JBoss5了。

我的服务简化了:

@Path("RequestReply")
public class Replier {

    @GET
    @Path("request")
    public String getReply(@QueryParam("id") @DefaultValue("") String id){
            if (id.length > 0){
                return "ACK";
            }
            return "NACK";
        }
}

我的web.xml文件是标准文件:

<?xml version="1.0" encoding="UTF-8"?>

<web-app>
    <display-name>Test service</display-name>

    <listener>
        <listener-class>
            org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
        </listener-class>
    </listener>

    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param>

    <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>/*</url-pattern>
    </servlet-mapping>

</web-app>

所以我尝试使用

http:// localhost:8080 / RequestReply / request?id = 1234

但是我收到404错误。

谁能告诉我我在做什么错?

Application.xml:

<?xml version="1.0" encoding="UTF-8"?> 
    <application xmlns="java.sun.com/xml/ns/javaee"; xmlns:xsi="w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="java.sun.com/xml/ns/javaee java.sun.com/xml/ns/javaee/application_5.xsd"; version="5"> 

        <display-name>Reseasy</display-name> 

        <module> 
            <java>simple.jar</java> 
        </module> 

    </application>

好的,所以我建议尝试类似的方法:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
             version="5">

    <display-name>Reseasy</display-name>

    <module>
        <web>
            <web-uri>Replier.war</web-uri>
            <context-root>/api</context-root>
        </web>
    </module>

</application>

在这里,Replier.war指代您创建的WAR文件的名称,/ api指代请求URL的基础。 所以它应该看起来像:

http:// localhost:8080 / api / RequestReply / request?id = 1234

试一试!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM