假设你请承包商从零开始建造一座房子,你肯定期望他们交付最高质量的房子。他们必须通过检查、遵守安全规范并遵循项目中约定的要求。因为建房子可容不得走捷径。如果承包商经常走捷径,他们的声誉会受到影响,从而失去客户。其实,开发 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 翻译】原文链接:《How to Build an API From The Ground Up》

如何从零开始构建 API ?的更多相关文章

  1. 用webpack4从零开始构建react脚手架

    用webpack4从零开始构建react脚手架 使用脚手架 git clone git@github.com:xiehaitao0229/react-wepack4-xht.git` `cd reac ...

  2. 尝试从零开始构建我的商城 (一) :使用Abp vNext快速一个简单的商城项目

    尝试从零开始构建我的商城 (一) :使用Abp vNext快速搭建一个简单的项目 前言 GitHub地址 https://github.com/yingpanwang/MyShop 此文目的 本文将尝 ...

  3. 从零开始构建并编写神经网络---Keras【学习笔记】[1/2]

    Keras简介:   Keras是由纯python编写的基于theano/tensorflow的深度学习框架.   Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结果, ...

  4. lumen 构建api(dingo api)

    什么是 API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力, ...

  5. 从零开始构建一个的asp.net Core 项目

    最近突发奇想,想从零开始构建一个Core的MVC项目,于是开始了构建过程. 首先我们添加一个空的CORE下的MVC项目,创建完成之后我们运行一下(Ctrl +F5).我们会在页面上看到"He ...

  6. 从零开始构建一个的asp.net Core 项目(二)

    接着上一篇博客继续进行.上一篇博客只是显示了简单的MVC视图页,这篇博客接着进行,连接上数据库,进行简单的CRUD. 首先我在Controllers文件夹点击右键,添加->控制器 弹出的对话框中 ...

  7. Spring Boot中使用Swagger2构建API文档

    程序员都很希望别人能写技术文档,自己却很不愿意写文档.因为接口数量繁多,并且充满业务细节,写文档需要花大量的时间去处理格式排版,代码修改后还需要同步修改文档,经常因为项目时间紧等原因导致文档滞后于代码 ...

  8. 从零开始构建一个centos+jdk7+tomcat7的docker镜像文件

    从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备好的 ...

  9. springboot+mybatis-puls利用swagger构建api文档

    项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...

  10. ASP.NET WebAPI构建API接口服务实战演练

    一.课程介绍 一.王小二和他领导的第一次故事 有一天王小二和往常一下去上早班,刚吃完早餐刚一打开电脑没一会儿.王小二的领导宋大宝走到他的面前,我们现在的系统需要提供服务给其他内部业务系统,我看你平时喜 ...

随机推荐

  1. SpringBoot——日志及原理

    一.SpringBoot日志 选用 SLF4j(接口)和 logback(实现类),除了上述日志框架,市场上还存在 JUL(java.util.logging).JCL(Apache Commons ...

  2. pysimplegui之读写配置项操作

    用户设置 API 在 4.30.0 版中,有一组新的 API 调用可用于帮助"用户设置".将用户设置视为自动写入硬盘的字典.基本上就是这样. 在 4.50.0 版中,除了现有的 J ...

  3. LeeCode链表问题(一)

    本文中所使用的链表定义如下所示: # Definition for singly-linked list. class ListNode: def __init__(self, val=0, next ...

  4. day15:递归函数&递归练习题

    递归函数 递归函数的定义 : 自己调用自己的函数就是递归 递: 去    归: 回   一去一回就是递归 一个简单的递归例子 # 1.一个简单的递归例子 def digui(n): print(n,& ...

  5. Yii framework 应用小窍门

    Yii framework 应用小窍门     1. Yii Framework] 如何获取当前controller的名称?  下面语句就可以获取当前控制器的名称了! Php代码   Yii::app ...

  6. scikit-learn 中 Boston Housing 数据集问题解决方案

    scikit-learn 中 Boston Housing 数据集问题解决方案 在部分旧教程或教材中是 sklearn,现在[2023]已经变更为 scikit-learn 作用:开源机器学习库,支持 ...

  7. jquery实现一个网页同时调用多个倒计时

    <div class="time countdown_1" data-time="1449429731"> <span class=" ...

  8. Java学习笔记08

    1. static关键字 ​ static可以用来修饰的成员变量和成员方法,被static修饰的成员是属于类的是放在静态区中,没有static修饰的成员变量和方法则是属于对象的. 1.1 静态变量 ​ ...

  9. 14-压缩css

    const { resolve } = require('path') const HtmlWebpackPlugin = require('html-webpack-plugin') const M ...

  10. Sitecore XP 10.3(latest) Docker一键部署

    本文演示通过PowerShell+Docker Desktop for Windows 一键部署Sitecore10.3(即Sitecore最新版)Docker开发/测试/演示 环境. 官方参考 Si ...