• restful接口规范


    -

    RESTful(Representational State Transfer)表述性状态转移

    restful原则可以由以下这些概念进行解释。

    • 资源与URI
    • 统一资源接口
    • 资源的表述
    • 资源的链接
    • 状态的转移

    资源与URI

    表述性状态转移,表述的是什么?其实就是资源。

    资源:任何事物,只要有被引用到的必要,它就是一个资源。比如手机号,是实体。也可以是个抽象的概念,比如 手机号的价值。

    uri:uri就是资源的唯一标识。也可以看成资源地址。

    URI的设计应该遵循可寻址性原则,具有自描述性,需要在形式上给人以直觉上的关联

    URI设计上的一些技巧:

    1、使用_或-来让URI可读性更好

    http://www.oschina.net/news/38119/oschina-translate-reward-plan。

    2、使用/来表示资源的层级关系

    /git/git/commit/e3af72cdafab5993d18fae056f87e1d675913d08 // git用户的git项目的某次提交记录

    3、使用?用来过滤资源

    /pulls?state=closed // 用来表示git项目中已经关闭的推入请求

    4、,或;可以用来表示同级资源的关系

    /git/git /block-sha1/sha1.h/compare/e3af72cdafab5993d18fae056f87e1d675913d08;bd63e61bdf38e872d5215c07b264dcc16e4febca   // github可以比较某个文件在随意两次提交记录之间的差异

    统一资源接口

    统一接口包含了一组受限的预定义的操作,不论什么样的资源,都是通过使用相同的接口进行资源的访问

    get: 获取表示

    post: 创建资源

    put: 更新资源

    delete: 删除资源

    资源的表述

    客户端获取的只是资源的表述而已。资源在外界的具体呈现,可以有多种表述:html、xml、json

    HTTP头"Content-Type" 就可以来表述资源

    Content-Type: application/json; cahrset=utf-8;

    资源的链接

     在表述格式里边加入链接来引导客户端。

    下面展示的是github获取某个组织下的项目列表的请求,可以看到在响应头里边增加Link头告诉客户端怎么访问下一页和最后一页的记录。 而在响应体里边,用url来链接项目所有者和项目地址。

    状态的转移

     REST原则中的无状态通信原则。

    这里说的无状态通信原则,并不是说客户端应用不能有状态,而是指服务端不应该保存客户端状态。

     客户端负责维护应用状态,而服务端维护资源状态。

    服务端通过超媒体告诉客户端当前状态有哪些后续状态可以进入。

    这些类似"下一页"之类的链接起的就是这种推进状态的作用——指引你如何从当前状态进入下一个可能的状态。

    -

  • 相关阅读:
    Hdu 5595 GTW likes math
    HNOI2002 营业额统计(Splay Tree)
    hdu 5592 BestCoder Round #65(树状数组)
    hdu 5591 BestCoder Round #65(博弈)
    hdu5586 BestCoder Round #64 (div.2)
    NoSQL
    什么是关系型数据库
    关系型数据库与NOSQL
    关系型数据库
    centos6.x下安装eclipse
  • 原文地址:https://www.cnblogs.com/fqh123/p/16485681.html
Copyright © 2020-2023  润新知