zoukankan      html  css  js  c++  java
  • RESTful 接口规范

    高级别的模式是:
    http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
     
    这里,{version}代表api的版本信息。{domain}是一个你可以用来定义任何技术的区域(例如:安全-允许指定的用户可以访问这个区域。)或者业务上的原因。(例如:同样的功能在同一个前缀之下。)
     
    {rest-convention} 代表这个域(domain)下,约定的rest接口集合。
     
    单资源( singular-resourceX )
    url样例:order/  (order即指那个单独的资源X)
    • GET – 返回一个新的order
    • POST- 创建一个新的order,从post请求携带的内容获取值。
     
    单资源带id(singular-resourceX/{id} )
    URL样例:order/1 ( order即指那个单独的资源X )
    • GET – 返回id是1的order
    • DELETE – 删除id是1的order
    • PUT – 更新id是1的order,order的值从请求的内容体中获取。
     
    复数资源(plural-resourceX/)
    URL样例:orders/
    • GET – 返回所有orders
     
    复数资源查找(plural-resourceX/search)
    URL样例:orders/search?name=123
    • GET – 返回所有满足查询条件的order资源。(实例查询,无关联) – order名字等于123的。
     
    复数资源查找(plural-resourceX/searchByXXX)
    URL样例:orders/searchByItems?name=ipad
    • GET – 将返回所有满足自定义查询的orders – 获取所有与items名字是ipad相关联的orders。
     
    单数资源(singular-resourceX/{id}/pluralY)
    URL样例:order/1/items/ (这里order即为资源X,items是复数资源Y)
    • GET – 将返回所有与order id 是1关联的items。
     
    singular-resourceX/{id}/singular-resourceY/
    URL样例:order/1/item/
    • GET – 返回一个瞬时的新的与order id是1关联的item实例。
    • POST – 创建一个与order id 是1关联的item实例。Item的值从post请求体中获取。
     
    singular-resourceX/{id}/singular-resourceY/{id}/singular-resourceZ/
    URL样例:order/1/item/2/package/
    • GET – 返回一个瞬时的新的与item2和order1关联的package实例。
    • POST – 创建一个新的与item 2和order1关联的package实例,package的值从post请求体中获得。
     
    上面的规则可以在继续递归下去,并且复数资源后面永远不会再跟随负数资源。
    总结几个关键点,来更清晰的表述规则。
    • 在使用复数资源的时候,返回的是最后一个复数资源使用的实例。
    • 在使用单个资源的时候,返回的是最后一个但是资源使用的实例。
    • 查询的时候,返回的是最后一个复数实体使用的实例(们)。
    希望你的关注能帮助我完整这个结构并解决你可能偶然遇到的问题。

    原文链接:http://www.coderli.com/translate-restful-standard-resolved 
     

  • 相关阅读:
    【solr专题之三】Solr常见异常
    python清除数据库错误日志
    【LeetCode OJ 136】Single Number
    ZOJ 1649 Rescue(有敌人迷宫BFS)
    HDU 1885
    hdu 2594 Simpsons’ Hidden Talents
    _DataStructure_C_Impl:链串
    Errors occurred during the build. Errors running builder 'Integrated External Tool Builder' on proje
    logo切图大小相应的尺寸
    再记作品展
  • 原文地址:https://www.cnblogs.com/yimu/p/2734334.html
Copyright © 2011-2022 走看看