前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计一个成功的API程序的10条法则

设计一个成功的API程序的10条法则

作者头像
程序你好
发布2018-12-05 17:28:39
3770
发布2018-12-05 17:28:39
举报
文章被收录于专栏:程序你好程序你好

早在上世纪90年代中后期,互联网是一个奇怪的、但不断增长的生态系统。企业意识到了这种潜力,一些企业实际上知道如何利用这种潜力。然而,人人都知道的一件事是,上网是必要的。他们不知道确切的原因,许多人只是用它作为一个目录来提供一个电话号码和地址,但有一个明显的需求。与新技术一样,这种紧迫感促使许多公司在知道目标是什么之前就在网上建立了自己的形象。

如果你想笑10分钟,去http://archive.org/web/看看过去的网络。除了设计,你还会意识到它的质量和实用性是多么的差。随着时间的流逝,期望值呈指数级增长。很快,公司意识到仅仅因为你的竞争对手创建了一个网站就不是一个计划。最好是花几个月的时间想出一个策略。这是大多数网络创新的标准;先设计再计划,再发展。

20年后,我们又看到了api的发展趋势。acronym API有点用词不当,因为它字面上的意思是“应用程序编程接口”,但它创建的目的是描述与现在使用它不同的东西。我们现在通常称为api的是内部微服务,它们向其他人公开以供构建。现在有一些企业公司在没有完全理解用例或业务需求的情况下快速地构建api。

简单地构建一个API并不能保证在当今市场上的相关性。如果你看看有多少公司打开了一个API,然后又关闭了它,你会发现很多公司意识到创建一个API的简单行为并没有使它变得有用。API是必须从各个角度考虑的业务和产品决策。下面,我们列出了成功API程序的10条规则,因为简单的“存在”并不是胜利。你最终会看到一个1997年的网站,里面充满了动画gif和声音效果。建设未来,而不是现在。

API的10个规则

知道你为什么这样做。在开始编写代码之前,请了解为什么需要一个API程序。这通常被称为业务用例,或者甚至是用例。知道确切的目标是什么,这样你就知道你在朝着什么目标前进。

知道你在做什么。让你的团队学习和学习最好的技术和惯例。api是一个开放的世界,但是使用常用的约定可以节省大量的时间和费用。速记:使用REST和JSON。

知道你的工作流程。由于您不是您正在构建的api的用户,所以请记住,任何更改都可能破坏其他人的工作。明确你的工作流程,随时更改通知,支持向后兼容。文档是关键!

知道你的数据(又名记录一切!)跟踪任何事件、失败或奇怪的情况。不要发现自己处于一个人人都讨厌的API发布的位置,你是唯一一个不知道的人。

构建/购买困境。一些特性,例如身份验证,可能是一个复杂而敏感的问题。考虑将它们委托给API管理工具,比如Mashery或Oracle。

你的API文档。您不能仅仅通过观察就指望第三方来确定您是如何设计API程序的。要让社区和/或第三方成功地使用您的API构建,需要大量的文档。

测试API生成的构件。测试生成API的代码就像假设食物的成分是好的一样。验证输出更干净更简单。它保证你至少满足质量控制的最低要求。此外,您还可以获得API测试报告的记录,从而更容易地诊断出意外错误。

监控API的性能和可用性。API质量控制的第二个(但不是第二个)方面是知道服务什么时候运行良好。这对于API所有者帮助诊断服务中的任何缺陷以及API使用者(他们将决定何时以及为何他们的产品出现问题)来说都是至关重要的

打开耳朵和睁开眼睛。确保测试和监控工具能够在发生问题时及时通知您的员工。一个好的正常运行时间记录只有当问题出现时,你的反应才有效。

资源和费用。测试活动对于您已经被征税的开发团队来说非常耗时。在许多情况下,依靠外部专家和顾问可能比内部资源更便宜和更可靠。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序你好 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档