一.API 简介
1.API 的概念
API(Application Programming Interface应用程序编程接口)是一些预约义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工做机制的细节web
2.API 的特色
- API 是一个明肯定义的接口,能够为其余软件提供特定服务
- API能够小道只包含一个单独的函数,亦能够达到包含数以百计的类,方法,全局函数,数据类型,枚举类型和常量
- API的实现能够是私有的,亦能够是开源的
3.API 的分类
- 面向对象语言的 API
- 库与框架的 API
- API 与协议
- API 与设备接口
- Web API
4.使用 api 的缘由
- 快速扩展功能
- 避免"造轮子",提升开发效率
- 下降模块之间的耦合度
二.api 的请求与认证
1.web api 协议及 http 请求
1.1 web api 通常采用 http 做为底层协议,http 请求机制以下:
客户端向服务器发送一个请求,服务器给客户端一个响应,告诉客户端是否能够完成它的请求的工做编程
1.2 http 请求包含的内容
- 客户端:url(api 请求地址),请求方式,headers(请求头),body(请求体)
- headers请求头:提供请求的元信息,是一个简短的项目列表,其中有客户端发送请求的时间和请求主体的大小,身份认证等信息
- body 请求体:包含客户端发送给服务器的数据
2.api 请求方式
- get:请求服务器获取一个资源
- post:请求服务器建立一个资源
- put:请求服务器更新或者编辑一个资源
- delete:请求服务器删除一个资源
3.状态返回码
处理成功返回2xxjson
- 200 ok-get:服务器成功返回用户请求的数据
- 201 created-post/put/patch:用户建立或修改数据成功
- 202 accepted-* 表示一个请求已经进入后台排队(异步任务)
- 204 no content-delete 用户删除数据成功
服务端错误码5xx后端
- 500 internal Error :api 网关内部错误,建议重试
- 500 Failed to invoke backend Service:api底层服务错误
- 503 service unavaliable:服务不可用
- 504 async service:后端服务超时
业务报错4xx:通常为参数错误,签名错误,请求方式错误或者流控限制api
4.api 数据格式
5.api 身份认证及签名认证
5.1简单身份认证:appcode
使用方法:请求 headers 中添加 Authorization 字段,格式 Authorization:APPCODE+半角空格+appcode 值数组
5.2签名认证:appkey&appsecret
三.api 调试及调用
1.api 调试
阿里云 api 市场提供在线调试功能服务器
2.api 调用步骤
获取 api 文档--建立应用--获取受权--调用 apiapp
3.调用 api
调用 api 三个基础条件:框架
- api
- 应用 app
- api 和 app 的权限关系
4.api 调用注意事项
- 每一个帐号下 APP 的个数上限为10个,app 名称应用为帐号下惟一
- 调用 api 的流控限制为,单个 ip,qps 不超过100
- 你有权操做购买的 api 与 app 的受权和解除受权.由服务提供方受权给你的 app 的api,你无权操做解除受权
- 你的请求须要包含签名信息
成果展现异步
