什么是api对接(sdk对接与api对接区别)

关于这个sdk对接与api对接区别(什么是api对接)很多人还不知道,现在让我们一起来看看吧!

什么是api对接(sdk对接与api对接区别)

1、序什么是API?什么是SDK?两者是什么关系?欢迎来到每周问题系列。既然你已经点了,相信你或多或少听过这两个名词。因此,在我们为您解答它们之前,我们先来看一个例子。

2、如果你想开发一个OCR应用程序(俗称字符识别应用程序),它的功能是识别一个用户上传的图片,然后识别图片中的字符并返回给用户。如下图所示:

3、通常OCR应用的后端服务都部署在云上,那么移动应用和基于云的服务之间应该如何沟通呢?这就是API和SDK的用武之地。应用程序接口API的特性通信首先我们要明白,API与通信有关,是为一个应用(服务)与其他应用(服务)对话而定义的协议。

4、在上面的例子中,你可以简单的理解为API是OCR应用和云服务之间的桥梁。那么API到底是什么?API的全称是应用编程接口,即应用程序接口。一般是指一些预定义的函数,其目的是为应用程序和开发人员提供基于某种软件或硬件访问一组程序的能力,而不必访问源代码或了解内部工作机制的细节。

5、以Java为例。当你想实现一个数组排序函数时,是先写一个排序算法,还是直接使用Arrays.sort()函数?我想你心里已经有答案了。摘要其次,我们应该了解API的另一个重要特性-抽象。

6、你说的抽象是什么意思?以这个OCR应用程序为例。当我们使用云提供的字符识别能力(比如百度字符识别)时,背后可能有成千上万的代码,比如提供识别能力的机器学习代码,提供Web能力的后端代码等等。

7、但是作为一个APP开发者,需要看这些代码是怎么写的吗?不知道背后的源代码就不能调用百度提供的字符识别能力吗?当然不是。

8、通常服务提供商已经给你提供了一个文档,告诉你如何调用相应的服务,只要你按照他的要求去做。

9、所以在你的APP和OCR服务之间,API抽象了所有复杂的逻辑,简化了调用过程,让你只需要想着获取需要的数据。标准化API是标准化的,也就是说有关于如何定义API的行业标准,比如SOAP、REST、GraphQL等。

10、我在你的之一本SpringBoot书[1]里写过什么是RESTfulAPI,有兴趣的朋友可以点击阅读。这是我正在写的SpringBoot入门教程,还没写完。欢迎读者不要吝啬自己的建议。

11、API的组成部分那么,API通常由什么组成呢?首先,我们需要向云发送一些数据,这称为请求。从本地应用到云端,我们需要分几个步骤来完成。以休息为例。

12、对于RESTAPI调用请求,之一步是指定传输 *** ,通常对应于HTTP *** ,如下图所示:

13、当你想上传一个图片的时候,通常会使用POST *** ,然后传递一些参数,包括请求的内容(图片本身)。然后加上需要请求的地址,形成一个完整的请求。如下图所示:

14、之后服务器会把数据以 *** ON的形式返回给你,在你使用的云服务的文档中也会有标注。

15、软件开发工具包(SoftwareDevelopmentKit)说了这么多,你应该对API有所了解,那么这就是问题来了。作为开发人员,在实际项目中如何调用API?你自己构造HTTP请求,拼接URL,添加需要的参数,处理返回的 *** ON对象,是不是很麻烦?麻烦。

16、有什么好的 *** 可以简化这些操作,让我只需要给个图,然后把结果返回给我?自然有。

17、这就是我们接下来要讲的SDK。SDK软件开发包的全称,软件开发包。一般是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等构建应用软件的开发工具的 *** 。

18、一般来说就是第三方服务商提供的实现产品软件某种功能的工具包。例如,JDK是一个SDK。以上面的OCR应用程序为例。

19、如果使用某厂商的SDK服务,那么我们甚至不需要构造HTTP请求,只调用一个 *** 。可能的代码如下图所示。OCRResultres=ocrClient.ocr(“pic.jpg”).getResult();通过调用这行代码,SDK会自动封装API请求,作为响应,你得到的结果不一定是 *** ON对象,也可以是代码,比如上面代码段中的OCRResult。

20、这是因为SDK也将 *** ON对象反序列化成了你需要的对象,比如Java模型。SDK相当于开发一个集成的工具环境,API就是数据接口。可以在SDK提供的环境中请求API。

21、同样,这里的环境也是一个抽象的概念。如果不使用SDK,可以直接调用API,但是这个环境会由开发者自己实现。区分其实从上面我们了解到,API在更多的场合更像是SDK的子集,它们的区别如下:API通常是具有特定功能的函数;而SDK是很多函数的 *** ,更像是一个工具包。

22、API通常播放数据接口的映像,SDK相当于一个工具环境,APl通常需要在SDK环境中调用。与API相比,SDK的封装级别更高。

本文关于sdk对接与api对接区别(什么是api对接)的知识就到此分享完毕,希望对大家有所帮助。

文章来源于互联网,侵权请联系删除。如若转载,请注明出处:https://www.xiaopangyu.com/zixun/21826.html

(0)
上一篇 2023年 4月 14日 下午3:48
下一篇 2023年 4月 14日 下午3:52

相关推荐