如何从零开始构建 API ?

news/2024/11/16 4:32:29/

假设你请承包商从零开始建造一座房子,你肯定期望他们交付最高质量的房子。他们必须通过检查、遵守安全规范并遵循项目中约定的要求。因为建房子可容不得走捷径。如果承包商经常走捷径,他们的声誉会受到影响,从而失去客户。其实,开发 API 就像建房子一样。

构建 API 时,在将其推向市场之前,创建一个完全功能的最终产品对于开发人员想要使用和信任至关重要。如果一切顺利,你将有希望扩展你的 API 策略,但是如果没有正确的流程,则可能在错误基础上构建 API 程序,并使长期成功面临风险。所有这些都始于制定正确计划。

1、计划

就像承包商在开始新建筑物时依赖蓝图一样,你需要在开始建构 API 之前制定计划。不要让你的 API 成为比萨斜塔。幸运的是,有一个 API 架构师的蓝图,OpenAPI 规范就是其中之一。OpenAPI 规范旨在提供一种标准格式,使开发人员可以创建易于跨国界、技术堆栈和行业理解和使用的 API。

试图使用 OAS 集成 API 的人应该能够分解和理解 API 提供的内容。就像蓝图清晰地说明了建筑物应该如何建造一样,OpenAPI 规范为API的构建提供了明确的设计结构。在任何开发之前,它让业务和技术利益相关者知道将包含在 API 中的内容。这个过程被称为“先设计后开发”的方法,其中 API 规范处于项目前沿。从一开始遵循 OpenAPI 规范也使得开发人员可以更快地构建出符合要求的 API,因为所有必要信息都已经列出来了。

2、建构

你花费了数小时、数天、数周甚至数月来完善你的 API 设计,现在终于是开始构建的时候了。建造房屋时,拥有适合项目的正确团队和正确工具非常重要。同样,在构建 API 时也是如此。有许多工具可以帮助你以简单高效的方式构建出你的 API。

3、检查

这一步对于成功至关重要。无论是家庭还是 API,都需要进行测试和检查以发现错误和缺陷。在进行房屋检查时,通常需要满足一系列要求才能通过检查。有很多公司不会测试他们的 API。同样,在新房建设上我们也假定建筑师应该确保施工质量良好,但实际情况并非总是如此。创建“足够好”与“完美”的东西各有利弊。在软件方面,“足够好”的第一个产品可以被认为是完全可接受的工作流程,但你应该确保它“足够好”以便使用。

4、描述和文档

太棒了,你已经完成了你的项目。它已经通过检查并且表现出色,现在你准备将其推向市场。 你的第一反应可能是只需将其发布并让 API 自己说话,还不行!为最终用户记录你的项目非常重要。 在我们房屋示例中,你需要描述平方英尺、所在社区、卧室和浴室数量、厨房电器类型、厨房美丽的自然光线等信息。 图片可能会欺骗人,因此为潜在买家详细说明至关重要。对于你的 API 也是如此。 编写文档很困难,但提供易于使用的 API 所带来回报值得投资。 引导他们浏览选项,以便他们不必做出假设,并在假设不正确时感到沮丧。

5、投放市场

你的成品已经经过测试和检查,准备向公众展示!通过创建一个建立在坚实基础上并且有良好文档记录的东西,这样任何看到它的人都会知道里面究竟是什么。无论你是在建造房屋还是 API,请创造出让自己感到骄傲的东西。发布一些能够引起人们注意的东西,这是你创造出惊人之物的机会,在这个环节也要多花点心思。

【Eolink 翻译】原文链接:https://swagger.io/resources/articles/how-to-build-an-api-from-the-ground-up/


Apikit_API协作管理平台_API文档管理-EolinkAPIKit是Eolink旗下结合API接口管理、 API 设计、文档管理、自动化测试、监控、研发管理和团队协作的一站式 API 生产平台,让用户在安全可控的环境下完成 API 管理的多人协作任务,帮助企业提升开发效能,降低运维成本。https://www.eolink.com/apikit


http://www.ppmy.cn/news/244216.html

相关文章

[codeup 1818最大公约数]

[codeup 1818最大公约数] 题目: 求最大公约数与最小公倍数 CODE #include <cstdio>int gcd(int a,int b){if(b0)return a;return gcd(b,a%b); }int lcm(int gcd,int a,int b){return (a/gcd)*b; }int main(){int a,b;scanf("%d %d",&a,&b);int ret…

ios13全选手势_ios13的三指手势操作怎么关闭 只要几步就行了

在 iOS 13 中&#xff0c;苹果增加了全新的文本编辑手势&#xff0c;能够让用户轻松地完成剪切、拷贝和粘贴。但该功能会默认进行开启&#xff0c;很多用户发现&#xff0c;该功能与游戏的三指操作冲突了&#xff0c;非常影响游戏操作。 iOS 13 三指操作如何关闭? 比较遗憾的是…

#动态规划,离散#洛谷 1052 codevs 1105 jzoj 1818(junior)1169 (senior)过河

题目 青蛙从0开始&#xff0c;不停的向终点跳跃。一次跳跃的距离是 S S S到 T T T之间的任意正整数&#xff08;包括 S , T S,T S,T&#xff09;。当青蛙跳到或跳过坐标为 L L L 的点时&#xff0c;就算青蛙已经跳出了独木桥。问最少要踩多少石子过去。 分析 动态规划&…

python 力扣(LeetCode) 1818.绝对差值和

题目链接 力扣&#xff08;LeetCode&#xff09; 1818.绝对差值和 不想戳的看下图&#xff1a; 样例&#xff1a; 数据范围&#xff1a; 解题思路&#xff1a; 二分查找后进行排序。 代码如下&#xff1a; class Solution:def minAbsoluteSumDiff(self, nums1: List[int], …

vivo 1805的usb调试模式在哪里,开启vivo 1805usb调试模式的流程

经常我们使用安卓手机通过数据线连接上PC的时候&#xff0c;如果手机没有开启usb调试模式&#xff0c;PC则没办法成功识别我们的手机&#xff0c;部分软件也没办法正常使用&#xff0c;此情况我们需要找方法将手机的usb调试模式打开&#xff0c;下面我们讲解vivo 1805如何开启u…

[BZOJ1818][CQOI2010]内部白点

题目链接&#xff1a; BZOJ1818 首先&#xff0c;题目根本不会有\(-1\)的情况&#xff0c;且所有节点变色只发生在第一秒。 证明&#xff1f;如果一个节点\((x,y)\)在第二秒变色&#xff0c;那么一定有一个节点会在第一秒内于\((x,y)\)的四周生成。 假设在左边&#xff08;其他…

【bzoj1818】[Cqoi2010]内部白点

Description 无限大正方形网格里有n个黑色的顶点&#xff0c;所有其他顶点都是白色的&#xff08;网格的顶点即坐标为整数的点&#xff0c;又称整点&#xff09;。每秒钟&#xff0c;所有内部白点同时变黑&#xff0c;直到不存在内部白点为止。你的任务是统计最后网格中的黑点…

集合求交,51nod1818,根号分治

正题 Portal 这题发现总的元素数量不超过M&#xff0c;所以我们可以对一个集合内的元素数量来根号分治。 当询问的时&#xff0c;暴力维护每一个权值以位置为关键字的线段树&#xff08;动态开点&#xff09;&#xff0c;这部分的时间复杂度是。 当询问的时&#xff0c;我们对于…