API(Application Programming Interface应用程序编程接口)是一些预定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节
1.1 web api 一般采用 http 作为底层协议,http 请求机制如下:
客户端向服务器发送一个请求
服务器给客户端一个响应,告诉客户端是否可以完成它的请求的工作
1.2 HTTP请求包含的内容
处理成功返回2xx:
HTTP状态码 | 语义 |
200 OK - [GET] | 服务器成功返回用户请求的数据 |
201 CREATED - [POST/PUT/PATCH] | 用户创建或修改数据成功 |
202 Accepted - [*] | 表示一个请求已经进入后台排队(异步任务) |
204 NO CONTENT - [DELETE] | 用户删除数据成功 |
服务端错误码5xx:
错误代码 | HTTP状态码 | 语义 | 解决方案 |
Internal Error | 500 | API网关内部错误 | 建议重试 |
Failed to invoke backend Service | 500 | 底层服务错误 | API提供者底层服务错误,建议重试,如果重试多次仍然不可用,可建议联系API服务商解决 |
Service Unavaliable | 503 | 服务不可用 | 建议稍后重试 |
Async Aervice | 504 | 后端服务超时 | 建议稍后重试 |
客户端错误码为4xx :表示业务报错。此时一般为参数错误、签名错误、请求方式有误或被流控限
制等业务类错误。建议详细查看错误码,针对性解决问题。
参考:错误代码表 https://help.aliyun.com/document_detail/43906.html
注意:有些API自定义了错误码,具体请查看该API文档中的描述。
{
"name":"中国",
"province": [{
"name":"黑龙江"。
"cties":{"city":["哈尔滨","大庆"]}
},{
"name":"广东":
"cties":{"city":["广州","深圳","珠海"]}
}}
}
中国
黑龙江
哈尔滨
大庆
目前最新的API大多使用JSON数据格式。JSON ( JavaScript Object Notation )是一种轻量级的数据交换格式,采用完全独
立于语言的文本格式,易于人阅读和编写,同时也易于机器解析和生成,是一种理想的数据交换语言。
JSON数据格式表示方法:
1.表示对象
JSON最常用的格式是对象的键值对
{"name":"电脑","price":"6999"}
2.表示数组
和普通的JS数组一样, JSON表示数组的方式是
使用方括[]
{
"name":"电脑",
"products":[
{
"brand":"华为",
"price":"5489"
},
{
"brand":"戴尔",
"price":"3568"
},
]
}
5.1 API简单身份认证(APPCODE方式)
可以通过APPCODE的方式,实现到被调用接口的身份认证,获取访问相关API的调用权限。
使用方法:
格式:
Authorization:APPCODE AppCode值
示例:
Authorization:APPCODE 3F2504E04F8911D39A0C0305E82C3301
5.2 API签名认证( AppKey & AppSecret )
AppKey和AppSecret相当于当前账户的另外-套账号和密码机制。在云市场购买API之后,就可
以在控制台找到对应的AppKey和AppSecret。
具体的签名认证方法请参见请求头部字段以及请求签名说明文档
阿里云API市场提供了在线调试功能,以方便用户在不用写调用代码的前提下进行快速测试
获取API文档 --- 创建应用 --- 获取授权 --- 调用API
要调用API需要三个基础条件: