API接口与接口测试工具postman
学习资料
# 个人博客:https,证书过期,忽略
-https://www.liuqingzheng.top/
# cnblogs博客(后期迁移到这里,高级部分的内容)
-https://www.cnblogs.com/liuqingzheng
# 知乎
-https://www.zhihu.com/people/justin_liu
一、web应用模式
Django - web框架,专门用来写web项目
1.web项目的模式
(1)两种模式
-
1 前后端混合开发
-后端人员,写【后端【也要写【模版语法】,模版语法是写在【xx.html】的python代码
-全栈开发-->前后端混合时代,比较多
-
2 前后端分离开发
-后端人员一点前端也不需要写,只需要写【接口】
-全栈开发-->web后端,前端框架(vue,react)
(2)两种模式开发的结果不同
-
1 前后端混合类型
- 仅仅能开发PC端:web端,网页,网站
-
2 前后端分类类型可以开发:
- PC端:web端,网页,网站
- APP:安卓、ios
- 小程序:微信小程序、支付宝小程序
在php中模版文件以.php结尾
在java中模版文件以。。。结尾
2.前后端混合开发模式
3.前后端分离开发模式
二、API接口
为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少前后端之间的合作成本
1.简介:
(1)作用:api接口就是前后端交互的媒介
- 通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
(2)常见的api接口服务架构:restful、rpc远程过程调用[远程服务调用],soap
(3)优缺点
- 优点:
不需要管当前操作是什么http请求,也不需要操作url地址的编写,对接简单
- 缺点:
接口多了,对应函数名和参数就多了,前端在请求api接口时,就会比较难找,容易出现重复的接口
(4)接口的本质
接口请求数据本质上就是对资源的操作
web项目中操作资源,无非就是数据的增删改查,所有要求在地址栏中声明要操作的资源是什么,然后通过http请求动词来说明对资源进行哪一种操作
- 请求方式简单理解
POST请求:添加数据
--> http://www.renran.cn/api/students/
GET请求:获取数据
--> http://www.renran.cn/api/students/
DELETE:删除编号为pk的数据
--> http://www.renran.cn/api/students/
/ PUT:修改编号为pk的全部信息,如[id,name,age]
--> http://www.renran.cn/api/students/
/ PATCH:修改某个数据的部分信息,如[age]
2.api接口的内容
(1)url地址:https://api.map.baidu.com/place/v2/search
(2)请求方式:get post delete put patch options
(3)请求数据:地址栏中的数据:request.GET
,请求体中的数据:request.POST
json或者xml格式的key-value类型数据
-
以前:由于xml格式,xml的标签站的内容比较大
ajax:异步的JavaScript和XML
-
现在:由于json格式的出现,成为了主流
-
未来:一定会出现,比json更搞笑的交互格式Protobuf
(4)响应数据:json格式的数据
dns解析
3.接口案例
(1)xml格式接口
https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295®ion=上海&query=肯德基&output=xml
(2)json格式接口
https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295®ion=上海&query=肯德基&output=json
三、接口测试工具postman
作为后端,一定要写好接口,我们自己要测试通过,再给别人用。写的接口,需要有个工具测试,比较常用的就是postman,其他还有postwoman,apifox等等
1.浏览器与接口
浏览器作为前端web展示最常用的地方,但是浏览器只能自动发送get请求,不能自动发送post、delete请求等,所以一般不用于接口测试
2.postman简介
-postman:是一框开源软件,最开始是谷歌浏览器Chrome的插件,后单独开发成收费软件
接口测试工具只要可以发送http请求即可,本质上相差不大
3.postman下载
(1)地址:https://www.postman.com/downloads/?utm_source=postman-home
4.页面功能
(1)postman页面的含义
(2)请求体的选项含义
请求体的编码格式
-
urlencoded:默认情况下的请求体编码格式,以
key-value
形式,组装成了name=aaa&age=19
放到了请求体中在django中通过
request.body
可以获得请求体的数据 -
form-data:发送文件和数据的格式,组装成很复杂的形式,从
request.body
中一取就报错,由于文件过大,而底层基于tcp协议(流式协议) -
json:放在body体中,
{"name":"xx"}
json格式
(3)响应数据
- body
- cookies