DRF之引入

发布时间:2023年12月22日

目录

一、web应用模式

【1】前后端混合开发

【2】前后端分离

二、API接口

三、接口测试工具:Postman

四、RESTful API规范

【1】什么是RESTful

【2】RESTful API的规范

2.1 数据的安全保障

2.2 接口特征表现

2.3 多数据版本共存

2.4 数据即是资源,均使用名词(可复数)

2.5 资源操作由请求方式决定(method)

2.6 url中带搜索或过滤条件???????

2.7 响应状态码

2.8 返回中带错误信息

2.9?返回结果,符合以下规范

2.10 返回数据中带url链接


一、web应用模式

【1】前后端混合开发

  • 后端人员
    • 既要写后端,django
    • 又要写前端

【2】前后端分离

  • 后端人员
    • 只写后端,写一个个的API接口
  • 前端人员
    • 只写前端
  • 最后项目写完
    • 前后端联调

二、API接口

为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。

通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介。它称之为API接口。

前端:

  • 向后端发送请求,获取数据
  • 127.0.0.1:8080/index --->返回数据

后端:

  • 请求某个地址,返回固定的数据

Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点

  • url:长得像返回数据的url链接

  • 请求方式:get、post、put、patch、delete

    • 采用get方式请求上方接口
  • 请求参数:json或xml格式的key-value类型数据

    • ak:6E823f587c95f0148c19993539b99295
    • region:上海
    • query:肯德基
    • output:json
  • 响应结果:json或xml格式的数据

    • 上方请求参数的output参数值决定了响应数据的格式

三、接口测试工具:Postman

Postman是一款接口调试工具,是一款免费的可视化软件,同时支持各种操作系统平台,是测试接口的首选工具。

Postman可以直接从官网:https://www.getpostman.com/downloads/下载获得,然后进行傻瓜式安装。(注:需要注册一下使用或者一个Google账号也可)

  • 工作面板

  • 简易的get请求

  • 简易的post请求

  • 案例:请求百度地图接口

四、RESTful API规范

【1】什么是RESTful

REST全称是Representational State Transfer(中文意思是表征性状态转移)。 它首次出现在2000年Roy Fielding的博士论文中。

RESTful是一种定义Web API接口的设计风格,尤其适用于前后端分离的应用模式中。

【2】RESTful API的规范

2.1 数据的安全保障

  • url链接一般都采用https协议进行传输

    • https是http+ssl --->??安全的超文本传输协议

注:采用https协议,可以提高数据交互过程中的安全性

2.2 接口特征表现

2.3 多数据版本共存

2.4 数据即是资源,均使用名词(可复数)

2.5 资源操作由请求方式决定(method)

  • 操作资源一般都会涉及到增删改查,我们提供请求方式来标识增删改查动作
    • 获取资源用get
    • 新增资源用post
    • 修改资源使用put
    • 删除资源使用delete
https://api.baidu.com/books? ? ?- get请求:获取所有书

https://api.baidu.com/books/1? ?- get请求:获取主键为1的书

https://api.baidu.com/books? ? ?- post请求:新增一本书书

https://api.baidu.com/books/1? ?- put请求:整体修改主键为1的书

https://api.baidu.com/books/1? ?- patch请求:局部修改主键为1的书

https://api.baidu.com/books/1? ?- delete请求:删除主键为1的书
?

2.6 url中带搜索或过滤条件???????

https://api.example.com/v1/zoos?name=猴子? ?get请求

2.7 响应状态码

  • 2.7.1 正常响应
    • 响应状态码2xx
      • 200:常规请求
      • 201:创建成功
  • 2.7.2 重定向响应
    • 响应状态码3xx
      • 301:永久重定向
      • 302:暂时重定向
  • 2.7.3 客户端异常
    • 响应状态码4xx
      • 403:请求无权限
      • 404:请求路径不存在
      • 405:请求方法不存在
  • 2.7.4 服务器异常
    • 响应状态码5xx
      • 500:服务器异常

2.8 返回中带错误信息

{code:100,msg:成功}
"Message": "send success",

2.9?返回结果,符合以下规范

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

2.10 返回数据中带url链接

"url": "http://blog.sina.com.cn/zaku",
文章来源:https://blog.csdn.net/qq_53842456/article/details/135159750
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。