api接口源码(如何正确理解生活中常见的API数据接口)

2025-03-05 09:30:01 0

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、状态码说明

接口的响应体一般都会带有响应的状态码,例如成功、失败等。状态码有助于接入方进行接口调用状态的判断。如:

接口文档如果能体现出以上几个要素,那可以算是一个完整的接口文档,对于接入方来说可以很好的阅读理解。

api接口源码(如何正确理解生活中常见的API数据接口)

本文编辑:admin

本文相关文章:


支付接口对接教程(在线支付,在线支付系统,接口要怎么对接,有没有简单化的教程)

支付接口对接教程(在线支付,在线支付系统,接口要怎么对接,有没有简单化的教程)

本文目录在线支付,在线支付系统,接口要怎么对接,有没有简单化的教程如何调通微信支付及微信发货通知接口如何接入智付电子支付第三方支付接口android怎么和支付宝实现接口对接第三方支付接口怎么申请需要什么条件,希望能详细说一下流程,现在网站急

2025年3月24日 02:00

api免费接口(权威的数据接口有哪些,求推荐免费的api接口)

api免费接口(权威的数据接口有哪些,求推荐免费的api接口)

本文目录权威的数据接口有哪些,求推荐免费的api接口有哪些可免费调用的ocr识别技术API接口如何免费使用人脸识别 API 接口权威的数据接口有哪些,求推荐免费的api接口列举一些搜集到的api数据接口名称,希望合适京东获取单个商品价格接口

2025年3月22日 14:50

免费api接口平台(快递查询api接口哪家好)

免费api接口平台(快递查询api接口哪家好)

本文目录快递查询api接口哪家好目前国内人脸检测定位api接口,哪个平台做的比较好有哪些好玩的免费的API接口国内有哪些公开免费好玩或实用的API快递查询api接口哪家好好不好根据自己的业务需求来看,这类的接口在京东万象上比较多,国内和国际

2025年3月1日 01:10

微信支付接口收费标准(申请微信支付接口保证金是多少钱)

微信支付接口收费标准(申请微信支付接口保证金是多少钱)

本文目录申请微信支付接口保证金是多少钱微信小程序商城开发含支付功能需要多少费用怎么申请微信支付接口 收取2万元保证金网站申请微信支付接口需要多少钱微信支付现在一次最多能支付多少钱目前微信和支付宝的商家收款码的费率是多少微信支付需要收取额外费

2025年2月16日 14:50

python安装requests模块(如何使用Python获取当前页面的请求接口的返回信息)

python安装requests模块(如何使用Python获取当前页面的请求接口的返回信息)

本文目录如何使用Python获取当前页面的请求接口的返回信息Python小白,requests,jieba,第三库安装不成功是什么原因如何使用Python获取当前页面的请求接口的返回信息这个非常简单,requests模块就可以轻松实现,下面

2025年2月14日 14:30

soapui接口测试教程(接口测试难学吗自学可以学会吗)

soapui接口测试教程(接口测试难学吗自学可以学会吗)

本文目录接口测试难学吗自学可以学会吗接口测试,你会选用那个工具软件测试工具都有哪些软件测试主要会学习那些内容,工作好找吗接口测试难学吗自学可以学会吗测试有黑盒测试、白盒测试,黑盒测试把测试对象作为一个完全未知东西对待,输入接口所需的参数值,

2025年2月8日 22:40

更多文章:


如何用编程做出可以用浏览器搜到的网站?编程网站Glitch现在发展如何

如何用编程做出可以用浏览器搜到的网站?编程网站Glitch现在发展如何

本文目录如何用编程做出可以用浏览器搜到的网站编程网站Glitch现在发展如何如何用编程做出可以用浏览器搜到的网站不是浏览器,准确说是搜索引擎收录搜索引擎收录网站的规则就是你的网站内关键词跟网民搜索的关键词匹配,而且你的网站正常打开,以及最近

2025年2月28日 01:10

flv js(如何看待哔哩哔哩的 flv.js 作者月薪不到 5000 元)

flv js(如何看待哔哩哔哩的 flv.js 作者月薪不到 5000 元)

本文目录如何看待哔哩哔哩的 flv.js 作者月薪不到 5000 元如何将flv格式转换成js格式有软件吗flv.js必须依赖node.js吗如何看待哔哩哔哩的 flv.js 作者月薪不到 5000 元小明和小龙交流,小明脑子里有内容.这个

2025年2月13日 06:50

java实现socket通信(请问Socket、Servlet、Tomcat是如何通信的)

java实现socket通信(请问Socket、Servlet、Tomcat是如何通信的)

本文目录请问Socket、Servlet、Tomcat是如何通信的如何使用Socket在客户端实现长连接请问Socket、Servlet、Tomcat是如何通信的socket是java实现tcp/ip协议组的抽象,也就是说在java环境中,

2025年4月4日 10:40

uninstall是什么意思英语(uninstall啥意思)

uninstall是什么意思英语(uninstall啥意思)

本文目录uninstall啥意思卸载英文是什么Uninstall这个单词是什么意思怎么读卸载软件出来的英文uninstall啥意思uninstall的意思是:卸载软件或解除安装。英  相关短语Uninstall Programs 卸载程序Q

2025年2月21日 22:20

c语言背包问题(C语言算法求助:背包问题)

c语言背包问题(C语言算法求助:背包问题)

本文目录C语言算法求助:背包问题c语言的穷举法的背包问题背包问题C语言简短代码,大神们最好带解释和注释,谢谢!!!背包问题,C语言编程C语言:背包问题(数据结构)用C语言实现背包问题求解背包问题(C语言)C语言算法求助:背包问题//如果每种

2025年3月18日 06:40

用c语言画一朵花(用C语言输出一束鲜花)

用c语言画一朵花(用C语言输出一束鲜花)

本文目录用C语言输出一束鲜花如何用C语言画一个“心形”如何用c语言画爱心急!请问,如何用C语言画一个五角星(用*组成)怎么用c语言画函数图像C语言如何画图用C语言程序编出漂亮的图画用C语言输出一束鲜花我以前划过一箭穿心,就是一个箭头,穿过两

2025年4月1日 16:00

oracle10g客户端安装(如何安装PHP和Oracle 10g即时客户端)

oracle10g客户端安装(如何安装PHP和Oracle 10g即时客户端)

本文目录如何安装PHP和Oracle 10g即时客户端谁有Oracle 10g安装过程,步骤,越详细越好 (win7环境下)如何安装oracle10g客户端win7 安装oracle10g客户端报错 未知的程序入口点oracle 10g安装

2025年3月15日 05:20

css45度倾斜移动(CSS怎么把div里的图形倾斜,而文字不倾斜)

css45度倾斜移动(CSS怎么把div里的图形倾斜,而文字不倾斜)

本文目录CSS怎么把div里的图形倾斜,而文字不倾斜CSS过渡中的变形效果中的平移translate,旋转,rotate,倾斜,skew怎么搞啊css怎么设置图片定点旋转CSS怎么把div里的图形倾斜,而文字不倾斜《div class=“w

2025年3月25日 09:10

websocket传输视频(如何通过WebSocket连接服务器进行数据传输)

websocket传输视频(如何通过WebSocket连接服务器进行数据传输)

本文目录如何通过WebSocket连接服务器进行数据传输websocket 怎么传送大数据websocket怎么传送文件如何通过WebSocket连接服务器进行数据传输WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通

2025年3月18日 10:20

格式刷在哪里(手机版excel格式刷在哪里)

格式刷在哪里(手机版excel格式刷在哪里)

本文目录手机版excel格式刷在哪里word 格式刷在哪里ppt格式刷在哪wps 中ppt里面的格式刷在哪cad2021格式刷在哪手机wps的格式刷在哪wps中的格式刷在哪里手机版excel格式刷在哪里 在手机wps表格中使用格式刷的方法 

2025年3月7日 08:50

软件架构师工资一般多少(java高级软件工程师工资收入多少)

软件架构师工资一般多少(java高级软件工程师工资收入多少)

本文目录java高级软件工程师工资收入多少什么工作高薪微软各职位员工年收入有多高java高级软件工程师工资收入多少Java有一定基础的,会Javaweb开发(html,cssjs,jquery)可以独立开发完整前端页面和特效的月薪3K+懂J

2025年2月11日 15:00

fifo指的是什么?fifo是什么意思

fifo指的是什么?fifo是什么意思

本文目录fifo指的是什么fifo是什么意思什么是FIFOfifo指的是什么FIFO(数据结构中的先入先出队列)一般指先入先出队列。First Input First Output的缩写,先入先出队列,这是一种传统的按序执行方法,先进入的指

2025年2月28日 03:20

journeyed(journry是什么意思 )

journeyed(journry是什么意思 )

本文目录journry是什么意思 journey是什么意思journey是抽象名词吗j0urney的中文翻译是什么意思trip、journey和travel的区别journey的中文是什么gourney是什么意思journry是什么意思 j

2025年3月11日 20:00

redhat 6 4 下载(如何在vmvare中安装redhat linux6虚拟机)

redhat 6 4 下载(如何在vmvare中安装redhat linux6虚拟机)

本文目录如何在vmvare中安装redhat linux6虚拟机linux redhat 6.4 安装oracle 12c需要哪些安装包如何在vmvare中安装redhat linux6虚拟机步骤如下: 一、准备工作: 1、下载安装VMwa

2025年3月24日 10:10

求个网站这么难吗2021年(弄个网站就这么难吗)

求个网站这么难吗2021年(弄个网站就这么难吗)

本文目录弄个网站就这么难吗创建一个网站难吗弄个网站就这么难吗你被骗了我以前也被骗了不过现在找了家安全点的空间商。个人觉得虚拟主机供应商要找稳定 服务好 功能强大,速度好的空间。我自己也做网站建设的。做过几家的代理商。去年开始用 中国网创 的

2025年3月26日 06:50

文本文档转换成excel(word文档的数据怎么转换成excel)

文本文档转换成excel(word文档的数据怎么转换成excel)

本文目录word文档的数据怎么转换成excel怎么把word文档转成excelword文档怎么转换成excel文档文本转换成excel表格文本如何转换成excel如何将word文本转化为excel文本格式数据怎么转换成excel列表word

2025年4月3日 19:40

tcp ip参考模型(我想知道TCP/IP参考模型与tcp/ip协议是一个概念吗)

tcp ip参考模型(我想知道TCP/IP参考模型与tcp/ip协议是一个概念吗)

本文目录我想知道TCP/IP参考模型与tcp/ip协议是一个概念吗简要说明TCP/IP参考模型五个层次的名称各层的信息传输格式最低三层使用的设备是什么什么是TCP/IP参考模型TCP/IP网络参考模型有哪几层osi参考模型与tcp/ip模型

2025年2月11日 03:40

linux字符终端中怎么用快捷键切换用户?在linux字符终端下,使用caps/lock切换大写字母,会有提示信息!影响输入,有什么方法可以取消如图

linux字符终端中怎么用快捷键切换用户?在linux字符终端下,使用caps/lock切换大写字母,会有提示信息!影响输入,有什么方法可以取消如图

本文目录linux字符终端中怎么用快捷键切换用户在linux字符终端下,使用caps/lock切换大写字母,会有提示信息!影响输入,有什么方法可以取消如图linux安装完运行startx出来的是终端字符的界面不是图形界面怎么办怎么把字符终端

2025年3月21日 11:30

in terms of什么意思(请问日常生活中“in terms of“的主要意思是什么)

in terms of什么意思(请问日常生活中“in terms of“的主要意思是什么)

本文目录请问日常生活中“in terms of“的主要意思是什么in terms of 是什么意思呀,如何用请问日常生活中“in terms of“的主要意思是什么就。。。。而言,说道。。。, 有关。。。He is strong in te

2025年4月3日 03:00

radio是什么意思啊(radio是什么意思)

radio是什么意思啊(radio是什么意思)

本文目录radio是什么意思radio的中文是什么意思啊车上的RADIO是什么意思radio是什么意思radion.无线电, 收音机radio源自拉丁词radius射线,因为无线电与射线有关nradios 无线电通讯police talki

2025年2月13日 13:30

近期文章

living proof(living proof shampoo是什么)
2025-04-04 15:20:01
本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索