我已下载源代码并尝试从其他客户端访问它但我收到404错误。 当我测试我的本地服务器时,我得到200 OK。 我错过了什么?有人可以解释一下调用服务的步骤吗? 以下是该项目的详细信息:
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Restful Web Application</display-name>
<!-- Auto scan REST service -->
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<!-- this need same with resteasy servlet url-pattern -->
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/rest</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>
<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
package com.mkyong.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Response;
@Path("/message")
public class MessageRestService {
@GET
@Path("/{param}")
public Response printMessage(@PathParam("param") String msg) {
String result = "Restful example : " + msg;
return Response.status(200).entity(result).build();
}
}
答案 0 :(得分:0)
使用以下网址调用上述服务配置:
GET http://{host}:{port}/rest/message/{parameter}
此url模式的一个示例是(请记住,您的主机名和端口可能会有所不同,具体取决于您运行示例的方式):
GET http://localhost:8080/rest/message/my+message
上面的网址假设您的应用程序的网络上下文根目录为/
。您尚未提供运行配置,因此我无法确定您使用的上下文根。上下文根是应用程序的基本URL。
如果您的上下文根与/
不同,则您的网址将如下所示:
GET http://{host}:{port}/{context root}/rest/message/{parameter}
我相信mykong示例他在他的maven配置中使用RESTfulExample
作为上下文根。这意味着网址将是:
GET http://localhost:8080/RESTfulExample/rest/message/my+message