API简易理解

让我们用一个生活中的例子来理解API。

假如你有一个可以存钱的仓库,每个人都可以在里面存钱取钱。如果让你自己对每一个人的钱都进行管理就很麻烦,而最省力的管理办法就是每个人自己存钱,自己记录。这里涉及到的步骤有:

  1. 存钱的人拿着钱到仓库

  2. 把钱放进仓库

  3. 拿小本本记录所存的钱

  4. 离开仓库

可是这些都是建立在每个人都是诚实守信的情况下,如果小明存了100¥但是记录了10000¥,你就有麻烦了。

因此你需要一个仓库管理员小娜来帮助你管理这些钱并执行这些操作。

  1. 外边的客户将钱交给小娜

  2. 小娜将钱存入仓库

  3. 小娜记录存入的金额

  4. 小娜反馈给客户

  5. 客户离开仓库

这时候我们就引入了今天的主角----API。

存钱的人将钱给小娜,小娜将钱存进仓库,并且进行记录。这样子仓库的管理就会方便又安全了。在这里我们将仓库内部和存钱的外部环境进行了分割,并通过仓库管理员小娜进行内外部的交互。这个形式就是API。API可以帮助我们和软件组件(操作系统,服务器等)的交互。而将内外部分进行分割的柜台就是接口

可是意外的情况又发生了,这天来了个广东人用白话跟小娜交流:“我想撳五百蚊出嚟呀唔該”,小娜不会白话,不能理解广东人的意思。所以这在API语言中是属于格式。需要小娜和广东人都说同一种语言,也就是使用同一种格式,操作才能够进行下去。

意外总是会发生,这天有个调皮的孩子想问小娜有没有一些有关熊出没的周边。这显然不在小娜的工作范畴里面,这里所谈论的内容对应在API语言中的协议。协议将规定双方进行交流的内容,保证交互的有效性。

但是如果你想满足一下这个调皮小孩的愿望呢?你就需要新增一个岗位,来解决熊出没或者其他动画片的周边的销售。这时候小红就登场了。小红和小娜一起在柜台工作,而这对应在API语言中,小红小娜就是两个在接口中的端点。(小红的小娜都是同一柜台不同功能的提供者)

那么API还可以干什么呢?

如果这天小张来仓库领取10000¥,小娜是不是直接九江钱取出来给小张呢?当然不是,小娜得先查看小张的账户里是否真的有10000¥(API能确定所有的操作都是合法的)

这时查找到小张的账户只有200¥,告诉小张余额不足。(API有报错提示机制,会根据错误机制进行提示,可以极大的减轻开发人员的负担)

小张认为肯定是哪里错了,要求小娜提供所有账户的数据信息。可是小娜不查不知道一查吓一跳,小张竟然有300个账户,这直接全部拿出来也不太现实,于是就先给小张十个账户的信息,小张看完了再给下一组十个账号的信息。因为这里小张也不可能一口气把所有的300个账户信息看完。(这里就涉及API里的分页的概念)

突然小张想开了,估摸着自己存的钱最多的账号,就让小娜只查那一个账号就好了。(这里就是API语言里的过滤

小娜查出了小张另一个账号里的信息,也就1000¥还是余额不足,小张惺惺地走了。他想到这几天小李刚中彩票肯定有足够地钱。于是他乔装打扮换了个模样又一次进入了仓库,向小娜报上小李的名字,说:“我是小李,我需要提取10000¥”当然不出所料地,小娜识破了小张拙劣的表演。(API内置授权和访问控制,具有账号信息授权的功能,只有拥有授权的人员才能获取对应授权的信息)

小张越想越气愤,怎么10000¥都拿不出来呢?他心里想着。于是他展开了对仓库的报复。小张想搞崩仓库的服务系统,一次次从仓库取出0.01¥。(API可以进行速率控制,避免服务的滥用)

API的以上功能可以做成防火墙

本文内容以知识点复述的形式论述,参考

https://blog.csdn.net/cumtdeyurenjie/article/details/80211896?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171055208916800185844807%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171055208916800185844807&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-80211896-null-null.142^v99^pc_search_result_base2&utm_term=API&spm=1018.2226.3001.4187

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值