目录
pip3 install djangorestframework
规定了提交参数的请求方式,访问 其可以获取响应的反馈数据的url链接
包含了四部分: url链接 + 请求方式 + 请求参数 + 响应数据
url: 长得像返回数据的url链接 https://api.map.baidu.com/place/v2/search
请求方式: get post put patch delete
请求参数: json或xml格式的key-value类型数据
响应结果: json或xml格式的数据
上方请求参数的output参数值决定了响应数据的格式
{
"status": 0,
"message": "ok",
"results": [
{
"name": "大本营",
"location": {
"lat": 31.45346,
"lng": 146.23423
},
"address": "本环路123号",
"province": "上海市",
}
......
]
}
YApi是去哪儿网前段计数中心的一个开源可视化 接口管理平台.
详情见官方文档
Postman是一款接口调试工具, 支持多操作系统平台, 是测试接口的首选工具
可以在官网下载使用
推荐Postman的开源代替品: Postwoman
RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。
接口用来操作数据, 与网址有区别, 所有用特定的关键字表示接口
https://api.baidu.com
https://www.baidu.com/api
如果一个资源存在多版本结果, 在url链接中要用特定符号来兼容多版本共存
https://api.baidu.com/v1/books/
https://api.baidu.com/v2/books/
接口操作的数据称之为资源, 在url中体现 资源的名称, 不能体现操作资源的动词, 错误示范:https://api.baidu.com/get_books
常规资源接口
https://api.baidu.com/books/
https://api.baidu.com/books/(pk)/
非常规接口 和某资源不是特别密切或是不止一种资源
https://api.baidu.com/login/
https://api.baidu.com/place/search/
一般还有额外的限制条件, 如排序、限制调试、分页等
https://api.baidu.com/v1/books/?ordering=-price&limit=3
这让人就知道 搜索价格最贵的前三本书
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个都可以 一般用patch
delete 删除单个或多个资源
https://api.baidu.com/books/
多删, 提供多个资源主键数据, 完成群删, 不做任何资源的返回, 一般返回的结果就是: 成功或失败
https://api.baidu.com/books/(pk)/
单删, 不需要提供额外数据, 完成单删, 不做资源的返回
如:
0: 成功
1: 失败 1xx 具体失败信息 要在接口文档中明确写出
2: 无数据 2xx 具体无数据信息
一般不仅仅是对数据状态码的解释, 更多的是对结果的描述, 给前端开发者阅读
{
"status": 0,
"message": "ok",
"results": [
{
"name": "大本营",
"location": {
"lat": 31.45346,
"lng": 146.23423
},
"address": "本环路123号",
"province": "上海市",
}
......
]
}
一般是数组 ?字典形式, 如果有子资源(图片 视频 音频), 返回资源的url链接
{
"status": 0,
"msg": "ok",
"results": [
{
"name": "小王子",
"img": "https://api.baidu.com/media/books/1.jpg"
}
]
}
原文:https://www.cnblogs.com/setcreed/p/12088806.html