zoukankan      html  css  js  c++  java
  • day 70

    day 69 drf

    01接口;接口的概念、数据接口文档、接口规范(restful)

    1. django restfarmework
    2. drf是django的插件
    3. 安装
      1. pip3 install djangorestfarmework
      2. 使用drf时要在settings中注册

    01接口

    1. 什么是接口;规定了提交请求参数的请求方式、访问器可以获取响应的反馈数据的url连接
      1. 四部分;url连接+请求方式+请求参数+响应数据
    2. 满足了同样的接口规范,无论前后端是什么语言,和数据处理方式,都可以进行交互

    02文档

    03restful接口规范

    1. url连接

      1. 接口都是操作前后台数据,所以需要保证数据的安全性,最好采用https协议
      2. 接口用来操作数据,与网址有区别,所以用特定的关键字表示接口,api
        1. https://api.baidu.com
        2. https://www.baidu.com/api
      3. 接口操作的数据称之为资源,在url中只体现资源名词,不体现操作资源的方式 动词
        1. 常规资源接口;
          1. https://api.baidu.com/books/
          2. https://api.baidu.com/books/(pk)/
        2. 非常规接口;和某资源不是特别密切或是不是一种资源
          1. https://api.baidu.com/login/
          2. https://api.baidu.com/place/search/
      4. 如果一个资源存在多版本结果,在url连接中要用特定符号来兼容多版本共存
        1. v1/v2;
          1. https://api.baidu.com/v1/books/
          2. https://api.baidu.com/v2/books/
      5. 群资源操作一般还有额外的限制条件,如排序、限制条数、分页等等
        1. 采用?限制条件;https://api.baidu.com/books/?ordering=-price&limit=3
    2. 请求方式

      1. 五大请求方式;get、post、put、patch、delete
        1. get;获取单个或多个资源
          1. https://api.baidu.com/books/
          2. https://api.baidu.com/books/(pk)/
        2. post;新增单个或多个资源
          1. https://api.baidu.com/books/
          2. 单增,提交单个数据字典,完成单增,返回单个结果对象
          3. 群增,提交多个数据字典,完成多增,返回多个结果对象
        3. put;整体修改单个或多个资源
          1. 整体修改多个,提供多个数据字典的数组(数据字典中要包含主键),完成修改,返回多个结果对象
          2. 整体修改单个,提供单个数据字典(主键在url中体现)完成单改,返回单个结果对象
        4. patch;局部修改单个或多个资源
          1. 方式与put请求相同吗,不同点;操作的资源如果有5个key-value键值对,put请求提供的字典必须报包含所有的键值资源,patch只需要携带需要修改的资源
        5. delete;删除单个或多个资源
          1. 多删,提供多个资源的主键数据,完成群删,
          2. 单删,不许要提供额外的数据资源,
          3. 不需要返回资源,但一般返回结果消息
    3. 响应结果

      1. 响应对象中要包含网络状态吗(网络状态信息与网络状态码是捆绑出先的)

        1. 1XX;基本信息
        2. 2XX;成功 200基本 201新增成功
        3. 3XX;重定向
        4. 4XX;客户端错误
        5. 5XX;服务端错误
      2. 数据状态码(一般是后台规定的)

        1. 0;成功
        2. 1;失败 - 1XX;具体失败信息(要在接口文档中写明)
        3. 2;无数据 - 2XX;具体无数据信息(要在接口文档中写明)
        4. 数据状态吗的信息(一般不仅仅是对数据状态吗的解释,更多是对结果的描述,给前台开发者阅读)
      3. 数据结果(常量,数组,字典),如果有子资源(图片,音频,视频),返回资源的url连接

        {
          "status": 0,
          'msg':'ok',
          'results':[{
            'name': '西游记',
            'img': 'https://api.baidu.com/media/book/xyj.png'
          },{}]
        }
        
  • 相关阅读:
    CSS里面position:relative与position:absolute 区别
    JSP页面规格化
    iframe自适应高度
    getElementByTagName的使用
    div左右居中
    @注解与普通web.xml的关系
    显示几秒内跳转
    js如何获取某id的子标签
    common upload乱码
    预览上传图片
  • 原文地址:https://www.cnblogs.com/luocongyu/p/12088501.html
Copyright © 2011-2022 走看看