用一个通俗的例子讲清楚API

更新日期: 2019-03-28阅读: 2.4k标签: API

随着移动互联网的发展, 基于互联网的应用正变得越来越普及,在这个过程中,更多的平台将自身的资源开放给开发者来调用。对外提供的api 调用使得平台之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。

那么API究竟是何方神圣?首先我们在百度百科查询到的解释是:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

听起来在理解上还是有些困惑,如何通俗理解什么是API?当我们在智能移动端使用应用程序时,应用程序通过网络将数据发送到服务器,然后服务器会检索分析数据,执行特定的操作并将其重新发送回你的手机。最后应用程序解析完这些数据,并以“可读的方式”向你提供所需的信息,要完成这一系列过程,API就是关键。

我们可以再举一个大家熟悉的例子来进一步解释API。想象这样一个场景,当你来到一家餐馆,拿起菜单进行点餐时,首先看到的时菜单上罗列的众多菜品信息,厨房将是你点餐“系统”的一部分,但其中的关键环节是如何将点菜的信息传达至厨房,并将食物送到餐桌上,这个时候服务员就起到作用了,服务员就是一个信使(API),他接收你的点菜信息,并告诉厨房(系统)该做什么,在这种情况下, 服务员以“食物”作为信息反馈。

为了进一步加深大家对API的理解,我们再列一个实际的API示例,在线搜索航班的过程就像在餐馆点餐一样,其中也有很多种选择,包括城市,往返航班时间等。假设你正在预订航空公司网站上的航班,你可以选择往返出发的城市和时间、客舱等级以及其他服务。为了准确预订航班,你可以预览查询航空公司网站,访问他们的数据库,看一看在你出发的时间是否有空位,以及航行费用等信息。

不过,如果你不想用使用航空公司的网站,还有没有其他可以直接访问航空信息的渠道呢?那么比如像Kayak、Expedia等在线旅行服务平台就成为获取航班信息的另一种渠道,因为这些平台整合了来自多个航空公司数据库的信息,你想要获取的信息将会更加全面,这其中的逻辑又是怎样的呢?

其实在上面的示例中,旅游服务平台与航空公司网站的API是相联系的。API就是一个接口,与餐馆的服务员作用一样,另外,在线旅游服务平台可以要求从航空公司网站的数据库中调取航班信息,以便用户预订座位、行李选项等。API在获取航空公司网站对用户请求的反馈之后,就会将相关信息发送回在线旅游服务平台,最终在线旅游服务平台上显示的信息就是用户所需要的最新航班信息。

不仅如此,API还提供了一层安全性。我们在使用手机的过程中,手机的数据在没有授权的情况下,是不会暴露给其他服务器的,同样道理,服务器也从来不会轻易将数据提供给你的手机。相反,每个系统都只与小的数据包相联系,并且只共享必要的数据——比如我们在线订购外卖,我们首先会告诉店家想吃什么,他们也会告诉我们用什么作为回报,完成这些,才能得到想要的外卖。

当前,API的价值已经越来越重要,除了像谷歌、eBay、Salesforce.com、Amazon及Expedia这样的大公司是少数通过API赚钱。绝大多数公司的大部分业务收入来源于API,所以也就有了“API经济”,其中指的就是API市场。

很不过多年以来,“API”通常描述的是应用程序的任何类型的通用连接接口。然而,随着技术的发展和市场的需求增大,现代API具有的一些特性,使其价值和实用性变得越来越高:

•现代API遵循标准(通常是HTTP和REST),这些标准对开发人员友好,易于访问和广泛理解;

•API被视为产品而不是代码。它们是为特定的受众(例如,移动开发人员)而设计的,它们被记录下来,并且以用户可以对其维护和生命周期有特定期望的方式进行版本控制;

•因为它们更加标准化,所以在安全性和管理方面有更强的规范性,并对性能和规模进行监视和管理;

•与其他任何产品化软件一样,现代API具有自己的软件开发生命周期(SDLC),包括设计、测试、构建、管理和版本控制。此外,现代API的使用和版本控制都有很好的文档。

当前,越来越多的企业会选择利用 API,将公司生态系统中的优质合作伙伴汇聚在一起,并重新挖掘隐藏在背后的巨大经济价值,所以,“API经济”也已经成为各大企业数字化发展的必经之路,IDC曾在2018年的报告当中将API经济作为全球第二的技术趋势,显示在接下来的三年里,亚太地区(不含日本)45% 的组织将会采用核心云API战略,因此,以API为核心驱动的新经济亟待爆发。

来自:https://segmentfault.com/a/1190000018684703


链接: https://www.fly63.com/article/detial/2574

浏览器中的图像识别 API

在 Native 开发中,Android 和 IOS 平台都在系统层面直接提供给了应用开发识别图像的一些能力,比如对于二维码/条形码的识别,Android 可以使用 barcode API 、 iOS 可以使用 CIQRCodeFeature API 。

JavaScript的API设计原则

Js的API设计原则总共包含了七个大块。系卤煮自己总结的一些经验和教训。本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来。很难做到详尽充实,如果有好的建议或者不对的地方,还望不吝赐教斧正。

适合写api接口文档的管理工具有哪些?

现在越来越流行前后端分离开发,使用ajax交互。所以api接口文档就变的十分有意义了,目前市场有哪些比较优秀的接口文档管理工具呢?比如:MinDoc,eoLinker,apizza,RAML,Swagger等等

前后端分离,如何防止api接口被恶意调用或攻击

无论网站,还是App目前基本都是基于api接口模式的开发,那么api的安全就尤为重要了。目前攻击最常见的就是“短信轰炸机”,由于短信接口验证是App,网站检验用户手机号最真实的途径,使用短信验证码在提供便利的同时,也成了呗恶意攻击的对象,那么如何才能防止被恶意调用呢?

JSON API免费接口_ 免费的天气预报、地图、IP、手机信息查询、翻译、新闻等api接口

整理提供最新的各种免费JSON接口,其中有部分需要用JSONP调用。方面前端同学的学习或在网站中的使用,包括:免费的天气预报、地图、IP、手机信息查询、翻译、新闻等api接口

什么是RESTful API?

要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST -- REpresentational State Transfer,英语的直译就是“表现层状态转移”。如果看这个概念,估计没几个人能明白是什么意思。

认识 Fetch API

Fetch API 已经作为现代浏览器中异步网络请求的标准方法,其使用 Promise 作为基本构造要素。Fetch 在主流浏览器中都有很好的支持,除了IE。

docker提供api访问

环境centos,添加deamon.json后,dockerd命令可以启动docker,这时请求 127.0.0.1:2375 可以正常访问,使用systemctl无法启动docker的情况.无法启动docker:查看当前的docker配置

构建API的最佳编程语言是什么?

你是否正在设计第一个Web应用程序?也许你过去已经建立了一些,但是目前也正在寻找语言的变化以提高你的技能,或尝试新的东西。有了所有信息,就很难决定为下一个产品或项目选择哪种编程语言。

前端 api 请求缓存方案

在开发 web 应用程序时,性能都是必不可少的话题。对于webpack打包的单页面应用程序而言,我们可以采用很多方式来对性能进行优化,比方说 tree-shaking、模块懒加载、利用 extrens 网络cdn 加速这些常规的优化

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!