zoukankan      html  css  js  c++  java
  • Django中的RESTful

    一:谈谈你对restful规范的理解:

      -restful其实就是一种编写接口的设计风格,如果一个架构满足rest的三个原则,那么他就是restful架构,

      1. 每一个URL代表一种资源

      2.通过在请求头中用Accept和Content-type字段指定其表现形式,客户端和服务器之间传递这种表现层。

      3.客户端通过HTTP四个动词,对服务器资源进行操作,实现‘表现层的状态转换’,GET用于获取资源,POST用于新建资源,PUT用于更新资源,DElETE用于删除资源。

    二;

            2. 你的restful是怎么学的?
                - 因为之前公司要写这样项目
                    - 接口
                    - 公司要做前后端分离的项目
                    - 公司要做微信小程序的开发

    三:设计 方法:

      1.域名:应该尽量将API部署在专用域名之下:

      2.版本:应该将API的版本号放入URL

      3.路径Endpoint:每个网址代表一种资源,只能有名词,不能有动词,名词应该使用复数

      4.对于资源的具体操作类型,由HTTP动词表示。

        GET(SELECT):从服务器取出资源(一项或多项)。

        POST(CREATE):在服务器新建一个资源。

        PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。

        DELETE(DELETE):从服务器删除资源。

      5.过滤信息:如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。

      6.状态码:

      7.错误处理:

      8.返回结果。

    针对不同操作,服务器向用户返回的结果应该符合以下规范。

    • GET /collection:返回资源对象的列表(数组)
    • GET /collection/resource:返回单个资源对象
    • POST /collection:返回新生成的资源对象
    • PUT /collection/resource:返回完整的资源对象
    • PATCH /collection/resource:返回完整的资源对象
    • DELETE /collection/resource:返回一个空文档。

      9.超媒体:

      RESTful API最好做到Hypermedia(即返回结果中提供链接,连向其他API方法),使得用户不查文档,也知道下一步应该做什么。

      比如,Github的API就是这种设计,访问api.github.com会得到一个所有可用API的网址列表

  • 相关阅读:
    IOS调试问题集
    sql常用语句及日期格式
    事件的简单面试题
    首博
    T-SQL查询进阶--详解公用表表达式(CTE)
    c++分布式计算类库
    MSSQL on Linux
    使用supervisor实现.NET Core程序后台运行
    CentOS下安装Nginx并安装服务实现自启动
    macOS安装MongoDB
  • 原文地址:https://www.cnblogs.com/zxt-cn/p/9197548.html
Copyright © 2011-2022 走看看