如何写一个合格的API文档

简介: 如何写一个合格的API文档

一:为什么要编写API接口文档

API接口文档,是开发途中,让其他协作者共同调试的重要工具,就像操作手册,给你一个物品,你可能不知道怎么使用,但是如果有操作手册,就可以让一个刚拿到物品的人,快速的进行使用物品。同理可得,API接口文档,就是为了方便其他写作者,快速理解、迅速使用,并进行接口调用操作的手册。

接口文档,大家可能在工作途中听到很多笑话,比如:程序猿最恨别人不写接口文档;程序员最不喜欢写接口文档...

其实在矛盾的同时,也体现了接口文档的重要性。

有幸,本人由于经常对接三方系统,收到了很多接口文档,其中的形式,千奇百怪,各有千秋,有些很标准,有些就难以入目。

二:常见的文档形式

常见文档有以下几种形式

1. webServer文档形式

  • webServer文档一般用于商场或财务系统,一般这类文档包括业务实现逻辑图、Web服务分布描述(它定义了Web服务的接口,如服务名、提供的方法、方法的参数信息);
  • 请求格式一般为POST;
  • 数据格式一般为XML;

image.png

2.Swagger-UI风格文档

此类文档,可以实现线上接口编辑,自动生成token实现后续接口测试调用,一般都基于RESTFUL接口规范。
此类接口可以直观的看到接口是否可用。
地址:https://teevid.github.io/mwapi/index/
image.png

3.SDK文档

如题所示,对方将接口操作封装为了特定的SDK包,那么调用方只需要实例化SDK,然后就可以参照文档进行方法调用了。这种方法更为简单,对接成本低,但是要求提供者提供对应语言的SDK。这是具有一定的开发压力的。

image.png

4.线上api文档

此类api可参考威富通高德地图美团api抖音api等等线上文档。此类文档基本格式相同,均具有通用性,提供的一般为http/https请求,以供各种开发语言调用。

image.png

5.API接口word文档

这类接口一般用于私有化开发提供api文档,以下也会注重讲解一下。
各个公司提供的文档规范不同,有些符合RESTFUL风格,有些则直接统一输出POST格式接口。

三:API接口word文档应该有什么

对于不规范的接口文档真的是让人头疼万分,比如,本人曾经收到一份api文档,一个sign加密算法,文档至写了四步,但是,我按照步骤进行加密时,发现无法拿到正确的值,多次确认无果之后,我协调了对方的相关开发人员,进行协助,然而,恐怖的事情出现了,我们一起调试之后,加密步骤高达14步。
不用说文档中有没有实例,就算有,神仙来了也无法调通的。

1.变更记录

变更记录是个好东西,什么时候,谁修改了什么内容,首先便于其他协作者明白这个版本更新了那些接口。需要做哪些配套调整,当然,出问题的时候,溯源的作用也是很重要的。

image.png

2.文档用途

这个文档时用于做什么,一般介绍私有化部署开发商和使用者之间的合作内容。

3.接口规范

这个板块一般介绍开放规定的接口规范,比如:传输方式(http/https)、提交方式(接口规范,restful风格或者全部为post)、数据格式、字符编码、签名算法、测试环境地址;

4.系统参数/公共参数

系统参数是每个接口都要携带的参数,描述每个接口的基本信息,用于统计或其他用途,一般放在header或url参数中;

参数 说明
version 版本号(版本控制)
time 时间戳(防重放)
from 来源(从哪里访问的接口,h5/小程序)
sign 签名

5.签名算法

这是非常重要的一步,一个好的签名算法文档,步骤必须清晰,且每一步均有实例展示,最终获取到的sign,可以验证。

6.规范的业务编码

一般按照restful风格,返回值包括code、message、data;code为200时接口正确,其余code值均为错误;
一般需要将错误的返回值编码进行表格展示;

7.具体接口必须参数

7.1 接口名称

这个不用解释吧,一个正确的接口名称,是非常重要的

7.2接口介绍

这个接口使用做实现什么功能。

7.3接口请求格式

基于RESTFUL风格,需要在每个接口注明接口的请求格式,POST、GET、PUT、DELETE;

7.4接口地址

就是接口的api地址

7.5接口入参

入参解释,包括字段名称、是否必填、字段属性、字段说明;

image.png

7.6接口出参/返回值

出参解释,包括字段名称、是否必填、字段属性、字段说明;
image.png

7.7 请求示例

一般建议将域名或者测试地址一起拼写展示
image.png

7.8 入参示例

如下
image.png

7.9 出参示例

如下
image.png

四:API接口文档示例

image.png

五:结束

本文主要是结合了我最近和三方合作的经验,为大家整理了一份让其他人可以清楚的看明白的接口文档说明,希望能够帮助到大家。大家如果有比较好的文档编写规范,也可以给我提出来,大家共同进步。

寄语

世界因规则而美丽

目录
相关文章
|
2天前
|
敏捷开发 测试技术 API
云效产品使用常见问题之代码仓库不支持API文档如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2天前
|
数据可视化 Linux API
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
|
2天前
|
分布式计算 API Linux
通义千问API:找出两篇文章的不同
本章我们将介绍如何利用大模型开发一个文档比对小工具,我们将用这个工具来给互联网上两篇内容相近但版本不同的文档找找茬,并且我们提供了一种批处理文档比对的方案
|
2天前
|
数据可视化 API 开发者
通俗易懂:一步步教你 Flask 项目自动生成 API 文档
Flasgger,作为一款强大的 Flask 扩展,自动从 Flask 应用中提取并生成 OpenAPI 规范文档,配备 SwaggerUI,为开发者提供了一条快捷通道,让 API 的文档编制和交互式测试变得简单易行。Flasgger 的设计原则是简化开发流程,通过与 Flask 框架的无缝整合,让开发者可以更专注于应用逻辑的构建。
|
2天前
|
API
Poi 中文API文档 「40种操作 Excel文件的姿势」
Poi 中文API文档 「40种操作 Excel文件的姿势」
147 0
|
2天前
|
JSON API 数据格式
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例【1月更文挑战第20天】【1月更文挑战第96篇】
66 2
|
2天前
|
JSON API 数据格式
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例
您可以在钉钉开放平台的API文档中找到对应的API接口来创建审批实例【1月更文挑战第9天】【1月更文挑战第41篇】
133 2
|
2天前
|
数据可视化 Linux API
使用Docker安装部署Swagger Editor并远程访问编辑API文档
使用Docker安装部署Swagger Editor并远程访问编辑API文档
65 0
|
2天前
|
测试技术 API 开发工具
📑教你如何编写一份 API 文档
API 文档是开发者理解和使用API的关键,它提供详细的说明、代码示例和调用过程,帮助创建无缝集成。好的API文档能提升开发人员体验,减少上手时间和维护成本,同时促进产品迭代。API有面向团队、合作伙伴和最终用户三种类型。编写文档时要考虑受众,提供清晰的概述、教程、认证信息、端点定义、状态码和错误码示例。维护更新与API同步的文档至关重要,遵循通俗语言、参考文档、示例和专人负责等最佳实践,确保全面性。GitHub、Twilio和Dropbox的API文档是良好示例。
|
2天前
|
前端开发 Java 测试技术
IDEA 版 API 接口神器来了,一键生成文档,贼香!
IDEA 版 API 接口神器来了,一键生成文档,贼香!
74 0

热门文章

最新文章