drf初识

Posted shenblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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//)

操作

以上是关于drf初识的主要内容,如果未能解决你的问题,请参考以下文章

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

Java初识方法

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL (-)纹理(Texture)