京东和顺丰:API(接口)是什么?(组图)
优采云 发布时间: 2021-08-07 21:39京东和顺丰:API(接口)是什么?(组图)
API(接口)是什么?举个常见的例子,在京东下单后,商家选择顺丰发货,即可在京东上实时查看当前物流信息。京东和顺丰作为两家独立的公司,可以在京东上实时看到顺丰的快递信息。这需要API。京东查看快递信息时,使用顺丰提供的API接口实时检索。信息显示在我的网站 上。另外,您也可以在快递100上输入订单号,查看快递信息。只要有合作或许可,其他公司可以通过顺丰提供的API接口检索快递信息。由于有多个调用,提供统一的调用规范会方便很多。
看看百度是怎么给API定义的:
API(Application Programming Interface,应用程序编程接口)是一些预定义的函数,目的是提供应用程序和开发者基于一定的软件或硬件来访问一组例程而无需访问源代码,或者理解内部工作机制的细节。
从百度的定义中,我们首先划出重点:功能、提供应用和开发者、无需访问源代码、例程。请注意这四个短语。其中,例程是某个系统对外提供的功能接口或服务的集合。本文重点介绍API的数据服务功能接口。
首先,下面文章我会先演示如何通过浏览器调用免费的API接口,无需编程,也无需访问源码,让大家使用最简单的接口;
接下来演示如何通过编程调用接口;
最后演示WEB服务的开启,写一个简单的API接口来体现API的功能(y=f(x))。
你也可以复制代码试试。通过自己的尝试,会学到一些后端前端的东西,加深对API的理解。那么我们开始吧,第一张图:用API提供信息(数据)的功能,看看数据是如何流动的。如果给 API 一个特定的位置,它位于下图的中心。
为了改变理解,我穿插了一个故事人物。假设,世界太大,你想看看你是否在非洲大陆,成为一名水手,被一位著名的航海家(你控制船上唯一的卫星计算机)带去远航,你将不可避免地途中的导航员。将决定下一个城市的经纬度。这时候导航器会要求你确定深圳的经纬度。
1、你是Personal Meat API
这时候可以想一个简单的方法在百度上搜索一下。船上除了领航员、资深水手和大副,估计都有可能问你。这时候,你其实就是一个界面。每个人都来从您那里获取地理位置信息。作为一个接口,您不会自己生成信息,您只是信息的采集器和传输者提供人类数据服务。
2、使用免费的经纬度API接口
在百度搜索过程中,很多网友给出的经纬度不一致。你必须反复比较才能辨别真伪。时间长了,你可能会觉得每个人都问位置,太烦人了。我的人肉API太慢了。有没有更快的方法。
这时候,你找到了阿里云的免费API接口:深圳。你在浏览器的地址栏中输入了这个 URL,你得到了正确的纬度和经度。你把网址里的深圳改成另一个城市,就可以找到了。这时候,通过这个界面,你确定每个人位置的效率会大大提高。
3、你对此不满意
你觉得这个界面太好了。你只知道如何使用 Python。为什么不写一些代码。注意此时你的角色发生了变化:你已经从人类API变成了开发者(注意这是在百度API关键词的定义中),你现在的目标是编写可以自动获取纬度和纬度的代码。这个地方的经度
这里先回顾一下百度对API的定义。目前,作为开发者,您可以通过编写几行代码,访问“阿里巴巴云经纬度接口”。您无需访问此 API 的源代码或了解此 API 是如何制作的。也就是说,无论是通过浏览器还是编程语言,你都已经知道如何使用一个简单的 API。
4、使用了一个简单的API接口后,进一步想知道它的内部机制是什么
在能够使用的基础上,API的源码及其内部机制是什么?目前可以调用经纬度API,仅仅获取位置是不够的。你可能想自己写一个API接口,不严密提供位置信息,同时附上城市介绍
执行web_server.py,执行后会启动一个web服务
接下来我们在浏览器中输入:8888/?id=Shenzhen
注意,我自己的电脑局域网IP是192.168.199.204,需要用自己的电脑(或虚拟机)IP替换
从上图我们实现了和“阿里巴巴云经纬度接口”一样的功能,得到了除了经纬度之外的城市的简单描述。随着您的航行越来越多,您让船上的每个人不仅了解地理位置信息,还了解每个城市的经济和文化状况。随着信息数据的增多,特别需要可以先保存数据,使用时直接调用API的东西。
5、数据存储,调整我需要的
以上,我们模仿阿里云的API,自己搭建了一个web service,提供更详细的API地理位置信息服务。现在想想,我们的代码只有深圳和青岛两个城市,还有很多城市没有提到。此外,城市还有经济发展、饮食文化等。我们将深圳和青岛两个城市的信息存储在mysql中。
保存后,我们直接从mysql中取出数据,通过API直接在浏览器中展示。改变
在 web_server.py 脚本中
保存web_server.py后,执行restart,输入浏览器地址:8888/?id=Shenzhen,出现与步骤4相同的结果,但这次是从mysql中取出数据,通过API接口Browser显示。此时,你不仅会使用API,还会通过tornado打开web服务,打开API查询接口。
最后,从上面的文章,大概画了个图,结合数据流向,描述了API的位置,然后用了一个来自一个信息采集器的故事,如何使用现有的接口,提供更好的界面。当然,这太简单了。但我认为它也可以解释 API 的基本含义。生产环境中API的复杂性涉及到数据的复杂性、接口的稳定性、高可用性和安全性。