• drf初识


    drf:Django-restframework

    接口

    规定了提交请求参数的请求方式,访问其可以获取响应的反馈数据的url链接;

    url链接:请求方法+请求参数+响应数据结果;

    drf框架安装

    # 使用drf时,要在settings中注册
    pip install djangorestframework
    

    restful接口规范

    URL设计

    数据的安全保障

    url链接一般采用https协议进行传输,可以提高数据交互过程中的安全性;

    接口特征表现

    用api关键字标识接口url,代表该请求url链接是完成前后台数据交互的;

    https://api.baidu.com
    https://www.baidu.com/api
    

    多数据版本共存

    在url链接中标识数据版本(只有在一种数据资源有多版本的情况下);

    https://api.baidu.com/v1
    https://api.baidu.com/v2
    

    资源

    接口一般都是完成前后台数据的交互,交互的数据称之为资源;

    一般提倡用资源的复数形式,在url链接中尽量不要出现操作资源的动词

    资源操作由请求方式决定

    get/post/put/patch/delete
    
    get:获取单个或多个资源
        - https://api.baidu.com/books/
        群查,返回多个结果对象
        - https://api.baidu.com/books/(pk)/
        单查,返回单个结果对象
    post:新增单个或多个资源
        - https://api.baidu.com/books/
        单增,提交单个数据字典,完成单增,返回单个结果对象
        群增,提供多个数据字典的数组,完成群增,返回多个结果对象
    				
    put:整体修改单个或多个资源
    	- https://api.baidu.com/books/
        整体修改多个,提供多个数据字典的数组(数据字典中要包含主键),完成群改,返回多个结果对象
        - https://api.baidu.com/books/(pk)/
        整体修改单个,提供单个数据字典(主键在url中体现),完成单改,返回单个结果对象
    		
    patch:局部修改单个或多个资源
    	方式与put完全相同,不同的是:操作的资源如果有5个key-value键值对,put请求提供的字典必	  须全包含,但是patch提供的字典包含的键值对0~5个都可以
            	
    delete:删除单个或多个资源
        - https://api.baidu.com/books/
        多删,提供多个资源主键数据,完成群删,不做任何资源返回(一般我们会返回结果信息:成功|失	败)
        - https://api.baidu.com/books/(pk)/
        单删,不需要提供额外数据,完成单删,不做任何资源返回(一般我们会返回结果信息:成功|失败)
    

    响应状态码

    正常响应

    2XX

    200:常规请求
    201:创建成功
    

    重定向响应

    3XX

    301:永久重定向
    302:暂时重定向
    

    客户端异常

    4XX

    403:请求无权限
    404:请求路径不存在
    405:请求方法不存在
    

    服务器异常

    5XX

    500:服务器异常
    

    响应结果

    • 响应数据要有状态码、状态信息和数据本身

      {
          "status": 0,
          "msg": "ok",
          "results":[
              {
                  "name":"肯德基(罗餐厅)",
                  "location":{
                      "lat":31.415354,
                      "lng":121.357339
                  },
                  "address":"月罗路2380号",
                  "province":"上海市",
                  "city":"上海市",
                  "area":"宝山区",
                  "street_id":"339ed41ae1d6dc320a5cb37c",
                  "telephone":"(021)56761006",
                  "detail":1,
                  "uid":"339ed41ae1d6dc320a5cb37c"
              }
              ...
              ]
      }
      
    • 需要url请求的资源需要访问资源的请求链接

      {
          "status": 0,
          "msg": "ok",
          "results":[
              {
                  "name":"肯德基(罗餐厅)",
                  "img": "https://image.baidu.com/kfc/001.png"
              }
              ...
              ]
      }
      

    postman的安装

    安装链接

    YAPI的使用

    [网页链接](http://yapi.demo.qunar.com//)

    操作

  • 相关阅读:
    将wordpress中的文章导出为markdown
    配置腾讯云的出入站规则
    C/C++基础:main函数的参数argc和argv
    解决IDEA maven多模块打包问题
    信息安全系统设计基础第十一周学习总结
    201355315宋宸宁20135333苏正生信息安全系统设计基础——实验一实验报告
    读书笔记——《暗时间》
    信息安全系统设计基础第十周学习总结——实践
    家庭作业
    信息安全系统设计基础第九周学习总结
  • 原文地址:https://www.cnblogs.com/shenblog/p/12103827.html
Copyright © 2020-2023  润新知