Web应用是什么
11. 通过浏览器访问的应用程序都是Web应用
22. Web应用的模式:
3 C/S架构
4 c:client 客户端
5 s:server 服务端
6 B/S架构
7 b:browser 浏览器
8 s:server 服务端
9
10
11 3. Web应用的优点:
12 - 1. 只需要一个浏览器
13 - 2. 节省客户端资源
14 - 3. 只需要更新服务端,立马影响客户端
15 4. Web应用的缺点:
16 - 1. 谷歌浏览器,火狐浏览器,ie浏览器,360浏览器.......
17 - 2. 服务端宕机,客户端也立马宕机,不能访问
18 5. Web框架
19 在规定的位置,写固定的代码
Web开发模式
11. 前后端不分离,混合开发
22. 前后端分离
API接口
1
2类似于:https://api.map.baidu.com/place/v2/search
接口测试工具:Postman
1
2
3
4针对post请求的数据,编码方式有3种:
5 1. urlencoded
6 在请求体中的格式:
7 name=ly&age=18 => request.POST
8 2. form-data
9
10
11 name=ly&age=18 => request.POST
12
13 -----dsadsadsadsadsad-----
14 file数据 => request.FILES
15 3. json
16 在请求体中的格式:
17 {"name":"ly", "age":18}
18
19 '''
20 在Django中如何获取json格式的数据:
21 在request.POST中已经取不到值了,在request.body中取值
22 '''
23
24
25
26
27
28'''
29 form上传文件:
30 1. method='POST'
31 2. enctype='form-data'
32'''
RESTful API规范
1
2
3
41. url链接一般都采用https协议进行传输
5 http: 数据明文传输
6 https:数据加密传输, http + ssl
72. 用api关键字标识接口url:
8 https://api.baidu.com
9 https://www.baidu.com/api
103. 在url链接中标识数据版本
11 https://api.baidu.com/v1
12 https://api.baidu.com/v2
134. 数据即是资源,均使用名词(可复数)
14 https://api.baidu.com/users
15 https://api.baidu.com/books
16 https://api.baidu.com/book
17 5. 资源操作由请求方式决定 (重点)
18 https://api.baidu.com/books - get请求:获取所有书
19 https://api.baidu.com/books/1 - get请求:获取主键为1的书
20 https://api.baidu.com/books - post请求:新增一本书书
21 https://api.baidu.com/books/1 - put请求:整体修改主键为1的书
22
23 https://api.baidu.com/books/1 - patch请求:局部修改主键为1的书
24 https://api.baidu.com/books/1 - delete请求:删除主键为1的书
256. 过滤,通过在url上传参的形式传递搜索条件
26 https://api.example.com/v1/zoos?limit=10:指定返回记录的数量
27 https://api.example.com/v1/zoos?offset=10:指定返回记录的开始位置
287. 响应状态码
29 200, 301,302, 404, 403, 500
30
31 100001
32 100002
33 100003
348. 错误处理,应返回错误信息,error当做key
35 {
36 error: "无权限操作"
37 }
389. 返回结果,针对不同操作,服务器向用户返回的结果应该符合以下规范
39 GET /books:返回资源对象的列表(数组)[{}, {}, {}]
40 GET /books/1:返回单个资源对象 {}
41 POST /books:返回新生成的资源对象
42 PUT /books/1:返回完整的资源对象
43 PATCH /books/1:返回完整的资源对象
44 DELETE /books/1:返回一个空文档
4510 需要url请求的资源需要访问资源的请求链接
序列化
1序列化: 把我们识别的数据转换成指定的格式提供给别人。
2反序列化:把别人提供的数据转换/还原成我们需要的格式
Django Rest_Framework
1'''
2 1. Django Rest_Framework 简称drf, 他就是django的第三方app
3 2. pip3 install djangorestframework
4 3. drf最新版本不支持django1.x, 升级django版本为:django2.x
5'''