刚开始写接口文档的服务端同学,很容易按着代码的思路去编写接口文档,这让客户端同学或者是服务对接方技术人员经常吐槽,看不懂接口文档。这篇文章提供一个常规接口文档的编写方法,给大家参考。
一、请求参数
- 请求方法 :
1.1GET 用于获取数据
1.2POST 用于更新数据,可与PUT互换,语义上PUT支持幂等
1.3PUT 用于新增数据,可与POST互换,语义上PUT支持幂等
1.4DELETE 用于删除数据
1.5其他 其他的请求方法在一般的接口中很少使用。如:PATCH HEAD OPTIONS
URL:url表示了接口的请求路径。路径中可以包含参数,称为地址参数,如/user/{id},其中id作为一个参数。
HTTP Header:HTTP Header用于此次请求的基础信息,在接口文档中以K-V方式展示,其中Content-Type则是一个非常必要的header,它描述的请求体的数据类型。
常用的content-type:
application/x-www-form-urlencoded
请求参数使用“”符号连接。
application/json
内容为json格式
application/xml
内容为xml格式
multipart/form-data
内容为多个数据组成,有分隔符隔开
- HTTP Body :描述http body,依赖于body中具体的数据类型。如果body中的数据是对象类型。则需要描述对象中字段的名称、类型、长度、不能为空、默认值、说明。以表格的方式来表达最好。
二、响应参数
- 响应 HTTP Body
响应body同请求body一样,需要描述请清除数据的类型。
另外,如果服务会根据不同的http status code 返回不同的数据结构, 也需要针对不同的http status code对内容进行描述。
三、接口说明
说明接口的应用场景,特别的注意点,比如,接口是否幂等、处理是同步方式还是异步方式等。
四、示例
举例:Taobao.item_get-获取整站淘宝网站商品数据API返回值说明
1.请求方式:HTTP POST GET
2.请求参数:商品ID
3.Python请求示例:
j# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-vxx.Taobaoapi2014.cn/taobao/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=12345678&is_promotion=1"
headers = {
"Accept-Encoding": "gzip",
"Connection": "close"
}
if __name__ == "__main__":
r = requests.get(url, headers=headers)
json_obj = r.json()
print(json_obj)
请将上述代码中的 "your_app_key" 和 "your_app_secret" 替换成你的 App Key 和 App Secret,"num_iid=12345678 替换成要查询的商品 ID。执行代码后,将会返回对应商品详情内容信息。