面向初学者的RESTEasy示例教程

RESTEasy是JBOSS提供的用于构建 REST API和RESTful Java应用程序的JAX-RS规范的实现。尽管RESTEasy不限于仅在JBOSS中使用,我们也可以与其他服务器一起使用。在这个 RESTEasy示例中,学习使用eclipse和tomcat在Java中创建宁静的Web服务

1.开发环境

  1. 可重用2.3.1.GA
  2. 雄猫7
  3. JDK 1.6

请按照以下步骤构建演示应用程序。

2.创建Maven Eclipse Web项目

运行这些命令来创建一个Maven项目,并且可以使Eclipse项目变得更月食。

$ mvn原型:generate -DgroupId = com.how2codex -DartifactId = RESTfulDemoApplication 
-DarchetypeArtifactId = maven-archetype-webapp -DinteractiveMode = false

$ mvn eclipse:eclipse -Dwtpversion = 2.0

3. RESTEasy Maven依赖项

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.how2codex</groupId>
  <artifactId>RESTfulDemoApplication</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>RESTfulDemoApplication Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <repositories>
   	<repository>
      <id>jboss</id>
      <url>http://repository.jboss.org/maven2</url>
   	</repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- core library -->
	<dependency>
		<groupId>org.jboss.resteasy</groupId>
		 <artifactId>resteasy-jaxrs</artifactId>
		<version>2.3.1.GA</version>
	</dependency>
	<dependency>
		<groupId>net.sf.scannotation</groupId>
		<artifactId>scannotation</artifactId>
		<version>1.0.2</version>
	</dependency>
  </dependencies>
  <build>
    <finalName>RESTfulDemoApplication</finalName>
  </build>
</project>

4.注册HttpServletDispatcher

RESTeasy被实现为Servlet,并部署在WAR文件中。HttpServletDispatcher类负责初始化RESTeasy的一些基本组件。

resteasy.scan属性会自动扫描WEB-INF/libjars和WEB-INF/classes目录@Provider以及JAX-RS资源类(@ Path,@ GET,@ POST等。)并注册它们。

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  	<display-name>Archetype Created Web Application</display-name>
  	<!-- Auto scan REST service -->
	<context-param>
		<param-name>resteasy.scan</param-name>
		<param-value>true</param-value>
	</context-param>
	
	<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>/*</url-pattern>
	</servlet-mapping>
</web-app>

5.创建REST控制器

package com.how2codex.restful;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

@Path("/user-management")
public class UserManagementModule
{
	@GET
	@Path("/users")
	public Response getAllUsers()
	{
		String result = "<h1>RESTful Demo Application</h1>In real world application, a collection of users will be returned !!";
		return Response.status(200).entity(result).build();
	}
}

6. RESTEasy示例应用程序演示

当我们在tomcat中部署以上构建的应用程序并单击URL:“ http:// localhost:8080 / RESTfulDemoApplication / user-management / users”时,以下是响应。

JAX-RS + Tomcat示例
JAX-RS + Tomcat示例

要下载以上示例的源代码,请单击下面的链接。

学习愉快!

saigon has written 1440 articles

Leave a Reply