技术·文档 | 标准API文档规范 1.0

简介: 技术·文档 | 标准API文档规范 1.0

背景

随着业务的发展,支撑平台的项目也是越来越多。

同时,为了让业务系统更加清晰,会从整个平台项目的架构体系,对系统业务水平拆分、垂直分层,产生了一系列平台和子系统,并使用接口进行数据交互。

伴随着业务的发展,接口文档会越来越多。

那么痛点在哪里?

代码和文档不匹配,代码接口更新,文档不更新,且接口文档内容和形式百花齐放,不便于理解。

撸码一分钟,对接三小时

为了解决这些痛点,我们定义了如下接口文档规范,用于编写API接口时的指导,以便于你写出良好规范的API文档。

API文档概述

什么是API

API(Application Programming Interface)即应用程序编程接口,是一些预先定义的函数,是连接客户端与服务端的桥梁,可以为应用程序与开发人员提供基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

什么是API文档

API文档是面向API使用者对API功能、用法和版本等信息等详尽描述,API文档增加了API等易用性,是API开发者面向使用者对公开约束。

什么是好的API文档

好的API接口文档对于使用者来说必须满足以下几个点:

易学习

有完善的文档及提供尽可能多的示例,文档要遵循行业和国际标准,让有经验和背景的调用者可以快速上手。

例如,定义国家代码,要使用ISO-3316国家代码标准中的国家代码,中国是“CN”,而不是自己造一个“CHI”,以免造成误解。

易使用

对于读者来说,文档没有复杂的程序和业务细节,只要易于读者学习即可。

灵活的API允许按字段排序、可自定义分页、 排序和筛选等。一个完整的API意味着被期望的功能都包含在内。

难误用

详细的错误提示,用户可从文档的阅读中了解API的使用方法和误区,不会在调用API的时候出现“惊喜”。

兼容性

API的升级要考虑向下兼容,文档也要考虑前后一致。

例如尽量避免在版本1是必填的参数,在版本2改为非必填,等等。

实时性

文档也相应地要考虑随着版本的更新而更新,且与服务一致。

避免客户端根据老的文档而请求新的接口而造成与预期不一致。

API文档目录

下面定义了标准的接口文档目录格式:

1.修订历史
2.接口描述
3.服务接入
    基本信息
    服务信息
4.请求和返回参数
    请求参数
    返回参数
5.成功和异常示例
    成功示例
        请求参数
        返回参数
    异常示例
        请求参数
        返回参数
6.状态码
    错误码
    业务码

API文档示例

下面提供了标准的接口文档的简要示例,可以在创建API文档的时候参考此结构和示例。

修订历史

以下为本文档对修订历史,倒序排列

原则上,无论API发生了任何定义、约束和功能上的变更,都应该体现在以下修订历史中,同时强烈建议在接口发生变更以后升级版本,并尽可能保证向下兼容(即如果客户端没有更新API也可以正常使用之前的功能)。


接口描述

以下为文档的概要描述,简要说明了此接口提供的能力、覆盖的业务场景、相关的系统角色等。

服务接入

此处描述了接口的形式(RPC、HTTP等)、接口的地址、客户端等配置等信息。

服务信息

如果是请求RPC接口,需要增加如下描述。

• 服务AppId:AppPAyService

• 接口:com.example.pay.TransferService

• 方法:transfer

• maven依赖

开发联调时使用SAPSHOT版本,上UAT前需要更换最新RELEASE版本
<dependency>
  <groupId>com.example.pay</groupId>
  <artifactId>pay-transfer</artifactId>
  <version>最新RELEASE版本</version>
</dependency>

• 接口定义

public interface TransferService {
    Response<Result> transfer(Request request);
}

详细内容方位:

技术·文档 | 标准API文档规范 1.0


目录
相关文章
|
11天前
|
敏捷开发 测试技术 API
云效产品使用常见问题之代码仓库不支持API文档如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
数据可视化 Linux API
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
|
3月前
|
分布式计算 API Linux
通义千问API:找出两篇文章的不同
本章我们将介绍如何利用大模型开发一个文档比对小工具,我们将用这个工具来给互联网上两篇内容相近但版本不同的文档找找茬,并且我们提供了一种批处理文档比对的方案
|
20天前
|
SQL API Python
Python DB API下规范下cursor对象常用接口
Python DB API下规范下cursor对象常用接口。
16 4
|
2天前
|
缓存 前端开发 搜索推荐
【Flutter前端技术开发专栏】Flutter中的自定义绘制与Canvas API
【4月更文挑战第30天】Flutter允许开发者通过`CustomPaint`和`CustomPainter`进行自定义绘制,以实现丰富视觉效果。`CustomPaint` widget将`CustomPainter`应用到画布,而`CustomPainter`需实现`paint`和`shouldRepaint`方法。`paint`用于绘制图形,如示例中创建的`MyCirclePainter`绘制蓝色圆圈。Canvas API提供绘制形状、路径、文本和图片等功能。注意性能优化,避免不必要的重绘和利用缓存提升效率。自定义绘制让Flutter UI更具灵活性和个性化,但也需要图形学知识和性能意识。
【Flutter前端技术开发专栏】Flutter中的自定义绘制与Canvas API
|
6天前
|
前端开发 Java 测试技术
IDEA 版 API 接口神器来了,一键生成文档,贼香!
IDEA 版 API 接口神器来了,一键生成文档,贼香!
19 0
|
24天前
|
存储 监控 BI
HIS系统是什么?一套前后端分离云HIS系统源码 接口技术RESTful API + WebSocket + WebService
医院管理信息系统(全称为Hospital Information System)即HIS系统。 常规模版包括门诊管理、住院管理、药房管理、药库管理、院长查询、电子处方、物资管理、媒体管理等,为医院管理提供更有力的保障。 HIS系统以财务信息、病人信息和物资信息为主线,通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为医院领导及各部门管理人员提供全面、准确的各种数据。 门诊医生工作站采用下拉式汉化菜单,界面友好,实用性强,设有与门诊挂号收费系统、医技科室信息系统、住院结算信息系统的软件接口。
28 1
|
2月前
|
JSON Java API
Springboot项目中如何设计一个规范的统一的Restful API 响应框架?
Springboot项目中如何设计一个规范的统一的Restful API 响应框架?
24 1
|
2月前
|
API 开发者
1688阿里巴巴中国站平台 API接口获取商品详情 接入文档说明
1688(阿里巴巴批发网)的API接入文档是专为开发者提供的,用于指导如何集成和使用1688平台提供的API接口。这些API接口可以帮助开发者实现各种功能,如商品搜索、订单管理、用户认证等。
|
2月前
|
JSON 缓存 API
淘宝天猫获取sku详细信息 API 调用文档 及请求代码
淘宝天猫获取SKU详细信息的API调用通常涉及到商品信息的API接口。在淘宝开放平台或天猫开放平台上,你可以找到相关的API文档和调用示例。下面是一个简化的步骤和示例代码来展示如何调用这些API: