我想澄清一下如何在servlet上部署的restful服务启动。目前我正在使用包含resteasy的JBOSS AS7.1.1。我的web.xml下面就像
<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>/api/*</url-pattern>
</servlet-mapping>
当Jboss服务启动时,知道上面代码的用法会很棒。
谢谢, 阿什利
答案 0 :(得分:2)
最终你甚至不再需要web.xml了,你当然不需要上面的配置。获得JAX-RS所需的唯一文件是:
RestApplication.java
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
/**
* Used to bootstrap JAX-RS. Otherwise this class is
* not directly used.
*
*/
@ApplicationPath("/api")
public class RestApplicationConfig extends Application {
// intentionally empty
}
之后,您将创建服务:
HelloWorld.java
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@Path("/hello")
public class HelloWorld {
@Produces({MediaType.TEXT_PLAIN})
@GET
public Response getHeartBeat() {
return Response.ok("Hi There").build();
}
}
此服务可以在http://localhost:8080/app-name/api/hello
之类的地方调用,其中app-name
是您的Web应用程序的名称(假设它未部署到/
)。