RESTEasy-Rest服务框架

什么是 RESTEasy

RESTEasy 是 JBoss 的一个开源项目,提供各种框架帮助你构建 RESTful Web Services 和 RESTful Java 应用程序。它是 JAX-RS 规范的一个完整实现并通过 JCP 认证。作为一个 JBOSS 的项目,它当然能和 JBOSS 应用服务器很好地集成在一起。 但是,它也能在任何运行 JDK5 或以上版本的 Servlet 容器中运行。RESTEasy 还提供一个 RESTEasy JAX-RS 客户端调用框架,能够很方便与 EJB、Seam、Guice、Spring 和 Spring MVC 集成使用,支持在客户端与服务器端自动实现 GZIP 解压缩。

官方网站:http://resteasy.jboss.org/

pom依赖如下

    <dependency>
      <groupId>org.jboss.resteasy</groupId>
      <artifactId>resteasy-servlet-initializer</artifactId>
      <version>3.0.9.Final</version>
    </dependency>

web.xml配置

  <context-param>
    <param-name>resteasy.resources</param-name>
    <param-value>com.rest.controller.Library</param-value>
  </context-param>
  <listener>
    <listener-class>
      org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
    </listener-class>
  </listener>

  <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>

Controller部分

package com.rest.controller;

import javax.ws.rs.*;

/**
 * Created by shangyidong on 16/9/25.
 */
@Path("/library")
public class Library {

    @GET
    @Path("/books")
    public String getBooks() {
        return "get books finished";
    }

    @GET
    @Path("/book/{isbn}")
    public String getBook(@PathParam("isbn") String isbn) {
        // search my database and get a string representation and return it
        return "test-isbn:" + isbn;
    }

    @PUT
    @Path("/book/{isbn}")
    public String addBook(@PathParam("isbn") String id, @QueryParam("name") String name) {
        return "add book success, id =" + id + ",name=" + name;
    }

    @DELETE
    @Path("/book/{id}")
    public void removeBook(@PathParam("id") String id ){

    }

}

启动tomcat,即可通过对应的url访问到web资源

dubbox的rest服务是基于非常成熟的JBoss RestEasy框架实现的。

参考 http://blog.javachen.com/2015/03/10/quick-start-of-resteasy.html

猜你喜欢

转载自blog.csdn.net/umgsai/article/details/54288434