一、API是什么
API,全称Application Programming Interface,直译“程序之间的接口”
类比python的import或者是类比C语言调用另一个源文件的a函数,需要先声明;
一个程序希望使用另一个程序的数据或者功能,就需要调用另一个程序提供的API接口。
二、API有什么用
数据交换:
使A、B两个程序之间的数据可交互(提现时,微信零钱余额和中国银行里面的余额)
应用集成:
使A程序可使用B程序的数据或者功能(比如外卖软件调用地图软件的功能,显示快递小哥的实时位置)
数据分析:
帮助获取大量数据,并处理分析(调用一些功能强大的扫描软件的api,实现较大规模的数据分析)
自动化任务:
实现自动化操作,提高效率(类似设定好一个流程,用户输入a后调用b软件的数据,更改之后再返回,比如网购下单,无需等待人工后台核验)
移动应用开发 :
调用各种应用的数据功能,快速构建移动应用app(有点像拿已打包好的函数来组装你需要的程序,越来越像python了)
三、API规范
3.1API格式
API设计时,需要统一的标准,方便进入市场,供他人调用
1.服务器地址
调用时的端口和ip地址
2.通信协议
最流行的http,现在升级为https(还有一些别的,tcp传输层通信,更稳定)
3.endpoint
即接口的URL地址,建议不同功能使用不同的URL地址,方便管理和修改
4.版本
当接口升级时,已调用接口旧版本的应用难以大规模同时间修改至新版本,需要对新旧版本进行说明
5.消息格式
常用有xml,json
提供接口给另一服务器发送数据,同时发送好几串,需要对数据标识,明确各个数据对应的信息
6.请求响应字段的描述
提交数据时,需要发送api提供者规定的调用功能的代号,比如取钱,给钱包系统的api发送100(数值) q001(取钱功能的代号)
7.响应码
发送数据后,为了显示请求成功或者请求失败,返回的值(网页连不上时的404,502)
不同情况的响应码建议不同,方便后台管理者以及用户知道错误类型,便于修改维护
8.接口安全要求
一些接口关联至用户的资产,如支付系统,不能想调用就调用,需要对其设置身份认证等必要的安全手段
3.2API类型
这里放一些学习文档的链接,方便希望深入了解的同学学习
1.SOAP/WebSevice(HTTP+XML)
webService、soap、wsdl入门 - 知乎 (zhihu.com)
2.GraphQL API
http://graphql.bootcss.com/learn/
3.RESTful API(HTTP+JSON)
http://restful.p2hp,com/
https://www,wenjiangs.com/doc/7a28swsy51mb 文江博客-restful api的中文文档
四、构建API的参考:
OPEN API 中文文档(更详细的api介绍)
https://openapi.apifox.cn/
OPEN API MAP(说明书)
https://openapi-map.apihandyman.io/
这个网站会告诉你一个规范的API应该包含什么元素,照着说明书开始搭建吧!
以上为个人拙见,如有不妥之处,烦请各位指出,谢谢~v~