01 web api接口

Posted 城南花已开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01 web api接口相关的知识,希望对你有一定的参考价值。

WEB API接口

接口介绍

接口概念:前台与后台进行信息交互的媒介 - url连接

https://api.map.baidu.com/place/v2/search

接口组成:

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

  • 请求方式 - get(查)、post(增)、put(整体改)、patch(局部改)、delete(删)

  • 请求参数 - 拼接参数、数据包参数(urlencoded、form-data、json)

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

    • {
          "status":0,
          "message":"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"
              }
              ...
              ]
      }
      
 
 
 
### 开发阶段接口测试工具
 
Postman:用于测试接口的工具
 
下载地址:https://www.postman.com/downloads/
 
## WEB API接口
 
### 接口介绍
 
接口概念:前台与后台进行信息交互的媒介 - url连接
 
```http
https://api.map.baidu.com/place/v2/search

接口组成:

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

  • 请求方式 - get(查)、post(增)、put(整体改)、patch(局部改)、delete(删)

  • 请求参数 - 拼接参数、数据包参数(urlencoded、form-data、json)

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

    • {
          "status":0,
          "message":"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"
              }
              ...
              ]
      }
      
 
 
 
### 开发阶段接口测试工具
 
Postman:用于测试接口的工具
 
下载地址:https://www.postman.com/downloads/
 
![](https://img2018.cnblogs.com/blog/1845546/202002/1845546-20200223214459974-1391961762.png)

 
![](https://img2018.cnblogs.com/blog/1845546/202002/1845546-20200223214509971-1272261784.png)

 
 
 
## 接口文档
 
### 为什么要写接口文档
 
```html
为什么要写接口:作为后台开发者,要将后台数据通过url链接反馈给前台
 
为什么要写文档:作为后台开发者,一定知道该url链接应该采用什么请求方式、提交哪些数据、返回了哪些结果
 
就像后台要将url链接改前台一样,前台知道应该访问什么链接,所以前台也应该知道采用什么请求方式,以及提交什么数据。

换而言之,接口文档是给 后台开发者、前台开发者、测试等各个项目相关项目组同时查看的,方便团队开发(规则是后台指定的,文档后台来写)

编写文档的方式

i)采用word编写
ii)drf框架有插件,可以根据cbv的类快速生成文档
iii)采用写文档的平台
YApi是去哪网大前端技术中心的一一个开源可视化接口管理平台。
不仅可以直接使用YApi自己提供的服务:http://yapi.demo.qunar.com/
也可以自己将YApi搭建到公司内部的服务器上

书写过程

i)先安装开发需要,完成接口的开发(设置后台url链接,设置请求方式、请求数据、响应结果)
ii)选择一个接口平台,将后台url链接,设置请求方式、请求数据、响应结果信息变成成文档即可

接口的规范

1)为什么要指定接口规范

在前后台分离情况下,后台可以采用不同的后台运用,开发出类似的功能,所以前后台请求响应的规则是一致的;如果安装一套标准来编写接口,后台不管是什么语言,前台都可以采用一样的方式进行交互。反过来,后台也不需要管前台到底采用何种方式请求(页面、工具、代码)

2)通用接口规范:Restful接口规范

规定了url如何编写,请求方式的含义,响应的数据规则。

    i)url编写
        https协议 - 保证数据安全性
        api字眼 - 标识操作的是数据
        v1、v2字眼 - 数据的不同版本共存
        资源复数 - 请求的数据称之为资源
        拼接条件 - 过滤群查接口数据(https://api.baidu.com/books/?limit=3&ordering=-price)
 
    ii)请求方式
        /books/ - get - 群查
        /books/(pk)/ - get - 单查
        /books/ - post - 单增
        /books/(pk)/ - put - 单整体改
        /books/(pk)/ - patch - 单局部改
        /books/(pk)/ - delete - 单删
 
    iii)响应结果
        网络状态码与状态信息:2xx | 3xx | 4xx | 5xx
        数据状态码:前后台约定规则 - 0:成功 1:失败 2:成功无结果
        数据状态信息:自定义成功失败的信息解释(英文)
        数据本体:json数据
        数据子资源:头像、视频等,用资源的url链接

以上是关于01 web api接口的主要内容,如果未能解决你的问题,请参考以下文章

Web Api

Flask 编写http接口api及接口自动化测试

从 url 中提取音频片段并使用纯 Web Audio API 播放

Note

web api写api接口时返回

如何在地图片段 API v2 布局顶部添加按钮