api接口源码(如何正确理解生活中常见的API数据接口)
本文目录
如何正确理解生活中常见的API数据接口
API:应用程序接口(API:Application Program Interface)应用程序接口(API:application programming interface)是一组定义、程序及协议的集合,通过 API接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过使用 API函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务。 API 同时也是一种中间件,为各种不同平台提供数据共享。
根据单个或分布式平台不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:
远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。
当前应用于 API 的标准包括 ANSI 标准 SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API可以应用于所有计算机平台和操作系统。这些 API以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的 API还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种 API只处理一种信息格式,所以该情形下的信息交付 API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付 API方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付 API 类型是比较理想的选择。
API 与图形用户接口(GUI)或命令接口有着鲜明的差别:API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。有时公司会将 API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式 API。
应用层常见的接口:
应用层的应用程序接口有很多,并且发展很快,比较常见的如socket、FTP、HTTP以及telnet。这些接口从大类上可分为四类:
远程过程调用(RPC,Remote Procedure Call Protocol)
数据查询接口
文件类接口
数据通信接口
例如FTP协议就是文件类接口,基于FTP,用户可以实现文件在网络间的共享和传输。而socket和HTTP可归结为数据通信接口,基于这两种接口,用户可以开发网络通信应用程序,以及web页面交互程序。当然如果从编程开发角度看,无论是FTP、HTTP还是telnet,都是基于socket接口开发出来的应用层协议,是对socket接口的进一步封装和抽象,从而为用户提供更高一层的服务和接口。
socket有时称之为“Berkeley Socket”,它是最早由伯克利开发的应用程序接口。常用的socket类型有两种:流式socket(SOCK_STREAM)和数据报式socket(SOCK_DGRAM)。
流式socket是一种面向连接的socket,针对于面向连接的TCP服务应用。
数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用。
从用户接口意义上讲,还有传输层的TLI接口,是由AT&T开发的,有时也称作XTI。它是传输层为用户提供的应用程序接口,可以用来在传输层进行应用开发。
如何写好API接口文档
日常项目开发的过程中,接口文档是必不可少的。后端工程师与前端工程师之间需要接口文档来定义数据传输协议、系统对外暴露接口需要文档来说明、系统之间相互调用需要文档来记录接口协议等等。对于一个完整的项目,接口文档是至关重要的。那我们如何写好一份接口文档呢?今天就让我们说一说接口文档几个重要的要素。
1、接口概述
接口概述主要说明本接口文档涉及到的业务功能点,面向的阅读对象以及接口文档主要包括哪些业务的接口,可以让读者有一个直观的认识。如:本文档定义了中台系统面向外部接入方的数据协议接口,主要包括:用户注册接口、同步用户、授权认证等接口。适合阅读的对象为接入中台开发者或者外部合作方…。这样的一段描述,对于阅读者来说可以对整个接口文档有一个大概的认识。
2、权限说明
有的接口调用需要授权认证,在这部分需要进行说明。如果接口只是基于分配的token认证,那文档需要说明token的获取方式。如果接口需要进行签名认证,需要在这里说明签名的具体方法,如下图:
sign参数的生成规则要具体说明,最好能示例说明,如:
这样接入方可以验证自己的签名方式是否正确。
3、编码方式
接口的请求过程中可能由于编码导致乱码,所以,接口必须约定编码方式,参考以下写法:
4、请求说明
接口文档的请求说明中主要说明接口请求的域名以及请求的数据格式:如
5、接口列表
接口列表是接口文档的主要内容,这部分内容需要列出所有的接口名称、接口地址、接口的请求方式、接口的请求参数以及响应格式。在接口的请求参数中我们需要说明每个参数的含义、类型以及是否必须等属性。对于接口响应结果,如果有业务字段,也需要进行说明。下面是一个比较完整的示例:
6、状态码说明
接口的响应体一般都会带有响应的状态码,例如成功、失败等。状态码有助于接入方进行接口调用状态的判断。如:
接口文档如果能体现出以上几个要素,那可以算是一个完整的接口文档,对于接入方来说可以很好的阅读理解。
本文相关文章:

支付接口对接教程(在线支付,在线支付系统,接口要怎么对接,有没有简单化的教程)
2025年3月24日 02:00

api免费接口(权威的数据接口有哪些,求推荐免费的api接口)
2025年3月22日 14:50

python安装requests模块(如何使用Python获取当前页面的请求接口的返回信息)
2025年2月14日 14:30
更多文章:

如何用编程做出可以用浏览器搜到的网站?编程网站Glitch现在发展如何
2025年2月28日 01:10

flv js(如何看待哔哩哔哩的 flv.js 作者月薪不到 5000 元)
2025年2月13日 06:50

java实现socket通信(请问Socket、Servlet、Tomcat是如何通信的)
2025年4月4日 10:40

uninstall是什么意思英语(uninstall啥意思)
2025年2月21日 22:20

oracle10g客户端安装(如何安装PHP和Oracle 10g即时客户端)
2025年3月15日 05:20

css45度倾斜移动(CSS怎么把div里的图形倾斜,而文字不倾斜)
2025年3月25日 09:10

websocket传输视频(如何通过WebSocket连接服务器进行数据传输)
2025年3月18日 10:20

软件架构师工资一般多少(java高级软件工程师工资收入多少)
2025年2月11日 15:00

redhat 6 4 下载(如何在vmvare中安装redhat linux6虚拟机)
2025年3月24日 10:10

文本文档转换成excel(word文档的数据怎么转换成excel)
2025年4月3日 19:40

tcp ip参考模型(我想知道TCP/IP参考模型与tcp/ip协议是一个概念吗)
2025年2月11日 03:40

in terms of什么意思(请问日常生活中“in terms of“的主要意思是什么)
2025年4月3日 03:00