zoukankan      html  css  js  c++  java
  • Rest

    1.Rest中文叫做“具象状态传输”,是一种开发WEB的架构风格,Rest是由RoyFielding在论文中提出的,理解为一种设计模式。
    Rest基于HTTP,URI,XML这些现有的广泛流行的协议和标准,伴随着REST,HTTP,协议得到了更加正确的使用。

    2.REST的WEB的服务遵循一些基本的设计原则

    2.1:系统中每一个对象或是资源都可以通过一个唯一的URI来进行行寻址,URI的结构简单,可预测易理解。
    2.2:遵循RFC-2616所定义的协议的方式是显示的使用HTTP方法,建立创建,检索,更新和删除,操作与HTTP方法间一对一映射

    若要创建资源,应该使用 POST方法, URI : xxx/book(在服务器端新建图书信息,需提供该图书所有信息)


    若要检索某个资源,应该使用 GET 方法, URI:xxx/book/{ID} (从服务器端获得某图书信息)

    若要更改资源状态或对其进行更新,应该使用 PUT 方法,URI:xxx/book/{ID}(在服务器端更新某已存在的图书信息,需提供更新的内容)


    若要删除某个资源,应该使用 DELETE 方法, URI :xxx/book/{ID} (从服务器端删除某图书信息)


    URI 所访问的每个资源都可以使用不同的形式加以表示(比如 XML 或者 JSON),具体的表现形式取决于访问资源的客户端,客户端与服务提供者使用一种
    内容协商的机制(请求头与 MIME 类型)来选择合适的数据格式,最小化彼此之间的数据耦合。


    1.2) 了解JAX-RS是什么?

     

    Java EE 6 引入了对 JSR-311 的支持。JSR-311(JAX-RS:JavaAPI for RESTful Web Services)旨在定义一个统一的规范,使得 Java 程序员可以使用一套固定的接口来开发 REST 应用,避免了依赖于第三方框架。同时,JAX-RS 使用 POJO 编程模型和基于标注的配置,并集成了JAXB,从而可以有效缩短 REST 应用的开发周期。

     

    JAX-RS是一套用java实现REST服务的规范,提供了一些标注将一个资源类,一个POJOJava类,封装为Web资源. 这些标注包括以下:

     

     

    @Path:标注资源类或方法的相对路径。

     

    @GET,@PUT,@POST,@DELETE:标注方法是用的HTTP请求的类型。

     

    @Produces:标注返回的MIME媒体类型。

     

    @Consumes:标注可接受请求的MIME媒体类型。

     

    @PathParam,@QueryParam,@HeaderParam,@CookieParam,@MatrixParam,@FormParam:分别标注方法的参数来自于HTTP请求的不同位置,例如@PathParam来自于URL的路径,@QueryParam来自于URL的查询参数,@HeaderParam来自于HTTP请求的头信息,@CookieParam来自于HTTP请求的Cookie。

     

    更通俗些说如果你用java写了一套框架,当开发者自己写的JAVA类使用了JAX-RS定义的这些注解标注过,然后通过你写的这套框架就可以将有这些JAX-RS标注的类发布成web资源,供其他客户端程序去调用。那么你写的这套框架就是一套RestFul Web Service框架,就是JAX-RS规范的实现者之一,是JAX-RS标准定义的这些标注的解释执行者。

    1.所以我们在根spring做集成时我们在WEb.XML中配置servlet时

      <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>/rest/*</url-pattern>
        </servlet-mapping>

    周永发
  • 相关阅读:
    51nod 1127 最短的包含字符串
    hdu 2197 本原串
    hdu 2160 母猪的故事
    hdu 2594 Simpsons’ Hidden Talents
    自旋锁原理及java自旋锁
    Java中CAS详解
    dump相关
    多线程设置线程超时思路
    kafka遗忘点
    Java 和 HTTP 的那些事(四) HTTPS 和 证书(转)
  • 原文地址:https://www.cnblogs.com/yvanBk/p/8491440.html
Copyright © 2011-2022 走看看