首页 > 技术文章 > 1.解读REST和JAX-RS

Lynn-Sea 2014-12-13 15:59 原文

什么是REST:

  Rest是一种架构风格,对象被抽象成资源(resource)资源的命名使用清晰的名词来定义。

    这里请记住三个关键词:HTTP+URI+XML

  • HTTP: 协议标准。
  • URI  :资源标识符,用于标识某一互联网资源名称的字符串。(简单理解成淘宝宝贝的地址,你把地址栏那一串东西复制到另外一台电脑,看到的还是一样的东西)。
  • XML :不仅仅指XML本身,这里只数据格式,包括json等

  还有四个动词:

  • GET        : 获取对象
  • PUT        : 更新对象
  • DELETE   :删除对象
  • POST    :新增对象

  REST 就是这些东西的组合了。不是技术,不是协议,而是一种风格。

什么是JAX-RS

  JAX-RS是Java领域的REST式的Web服务的标注规范。

JAX-RS2标准

  JavaEE Restful Web Services 2。(Jersey2.x是对JAX-RS2标准的实现)

JAX-RS2.0的目标

  • 基于POJO
  • 以HTTP为中心
  • 格式独立性
  • 容器独立性    :可以部署在各种Servlet容器中,tomcat,jetty,GlassFish
  • 内置于Java EE: 是Java EE规范的一部分。

JAX-RS2.0元素

  • 资源类:  资源类位于最前端,三层架构为,resource-service-dao
  • 根资源类:使用@Path注解,提供资源类树的根资源和子资源的访问。
  • 请求方法标识符:GET,PUT,POST,DELETE
  • 资源方法:就是GET,PUT,POST,DELETE 对应的方法
  • 子资源标识符:定义相关资源的子资源
  • 子资源方法:资源类中的方法,用来处理相关资源子资源的请求。
  • Providers:一种JAX-RS拓展接口的实现类,实现了JAX-RS运行期的能力
  • Filter:一种用于过滤请求和相应的Provider
  • Entity Interceptor:一种用于处理拦截消息读写的Provider
  • Invocation:一种用于配置发布HTTP请求的客户端API对象
  • WebTarget:一种使用URI标识的Invocation容器对象
  • Link:一种携带元元素的URI,包括媒体类型,关系和标题  

    

     

推荐阅读