接口规范文档总结、接口管理工具推荐、如何写出完美的接口

写在前面:这是我最近整理的接口规范文档,无规矩不成方圆,为了app开发人员与后台接口开发人员更好的配合,我特意整理了这么一篇文档供大家参考学习,如有意见请在评论区留言谢谢。因部分内容涉及公司代码,我对本文档略有删减。

接口规范说起来大,其实也就那么几个部分,接口规范、接口管理工具、接口文档编写、开发文档编写。以下将详细介绍,下面进入正文:

接口规范文档
具体内容如下:
一:协议规范
二:域名规范
三:版本控制规范
四:API路径规范
五:API命名规范
六:请求参数规范
七:列表请求特殊规范
八:返回数据规范
九:接口文档规范
十:接口管理工具使用教程
 
参与编写
更新日期
版本
备注
AbyssKitty
2018/04/06
V1.1.0
V1.1.0更新日志:
1.  新增协议规范、域名规范、版本控制规范、列表特殊规范。
2.  更新接口管理工具使用教程。
3.  美化排版。
 
正文:
一:协议规范
为进一步确保数据交互安全。正式地址(生产地址)必须遵循HTTPS协议。
二:域名规范
每个项目要有且仅有一个自己唯一的域名+端口。在项目配置文件中要添加静态变量专门进行存储。
如果一个域名满足不了要求,那么就需要再添加一个。
格式规范如下:
java)public static final String URL_BASE = “ https://127.0.0.1:8080/”;
java)public static final String URL_BASE_SUB = “ https://192.168.0.1:8080/”;
必须以https开头,并以“ /”结尾。
三: API路径规范
作为接口路径,为了和其他路径完美区分,必须在路径中添加api目录
格式规范如下:
java)public static final String URL_API = “ api/”;
PHP)php目录是加 index.php/api/
必须以字母开头,并以/”结尾。
四:版本控制规范
项目正式上线后,正式版本要确定接口版本、并备份接口代码。
为方便管理,需要在接口路径中加入版本号信息。
格式规范如下:
java)public static final String URL_VERSION = ”v1/”;
必须以字母开头,并以/”结尾。
更新版本后可以使用v2 v3等、依次递加。
五: API命名规范
根据二:域名规范、三:API路径规范、四:版本控制规范。项目中必须在配置文件中增加BaseUrl静态常量。值=三个相加。
格式规范如下:
java)public static final String BASEURL=URL_BASE+URL_API+URL_VERSION;
具体代码如下:
BASEURL = [“https://127.0.0.1:8080/api/v1/”]
BASEURL = [“https://127.0.0.1:8080/api/v1/”]
BASEURL = [“https://127.0.0.1:8080/api/v1/”]
重要的事情说三遍。
 
根据业务需求,可以在v1版本文件夹里创建,一个或者多个接口文件。
一个的规范:
https://127.0.0.1:8080/api/v1/getBanner
这就是一个获取banner的接口。
多个的规范是根据业务需求来区分:
https://127.0.0.1:8080/api/v1/home/getBanner
https://127.0.0.1:8080/api/v1/u ser/userLogin
新建user文件,里面存放用户级别的操作:如登陆、注册、修改密码等等。
新建sms文件,里面存放对短信的接口操作:如发送验证码、验证手机号等等。
 
所以,接口方法文件必须要有自己的规范,命名必须统一使用 驼峰命名法或者下划线拼接命名法 。举个栗子:(upperCamelCase)(upper_camel_case)。所有接口命名方式,必须遵循如下规范。
(1) 新增方法:如新增一个地址、新增一个联系人。
命名规范:
必须以“add”为前缀。例如addAddress
事例地址: https://127.0.0.1:8080/api/v1/a ddAddress
(2) 删除方法:如删除一个地址。
命名规范:
必须以“delete”为前缀。例如deleteAddress
事例地址: https://127.0.0.1:8080/api/v1/delete Address
(3) 修改方法:如修改一个地址。
命名规范:
必须以“updata”为前缀。例如updataAddress
事例地址: https://127.0.0.1:8080/api/v1/updata Address
(4) 获取方法:如获取一个地址。
命名规范:
必须以“get”为前缀。例如getAddress
事例地址: https://127.0.0.1:8080/api/v1/get Address
(5) 获取列表方法 :如获取一个地址列表。
命名规范:
必须以“get”为前缀、“List”为后缀。例如getAddressList
事例地址: https://127.0.0.1:8080/api/v1/get AddressList
 
其他规范:
发送验证码使用‘send’为前缀、保存一个数据以‘save’为前缀、上传图片以‘uploadImage’为名称等等。
具体地址就等于 BASEURL+“address/getAddressList”)
目的:一目了然、降低维护成本。
六:请求参数规范
请求方式:公共数据使用get方式请求,私有数据使用post方式请求。尽量全部是用post。
请求头:请求头根据项目需求添加配置参数。如: accept=‘application/json
’等。请求头根据项目需求可以要求传入用户token、app名称版本、唯一验签码等加密数据。
     请求参数:
根据数据库字段进行命名、保持一致最省事。
七:列表请求特殊规范
列表请求,请求参数规范,必须传参:页数和每页个数的字段。并可包含查询等信息。
1.  列表接口必传字段(分页、使用小写字母)。
page :页数,从1开始。例如:{ “page”: 1  }
subnumber : 每页数量。
2.  列表接口选传字段。
只要是列表接口、一般情况下都会存在检索条件,例如淘宝商品检索。检索条件为选填。
后台需进行非空非 null判断,选传字段为空为null默认查询全部。有值则需要接收,并进行sql查询。
规范事例:
普通列表接口: https://127.0.0.1:8080/api/v1/getBanner List
(不传 page、后台默认返回全部数据)
banner接口不需要使用检索条件)
需检索列表接口: https://127.0.0.1:8080/api/v1/getOrder List
(不传 page、后台默认返回全部数据)
Order订单接口需要检索条件,不传就不检索,只进行分页查询)
(如果有 time price等检索条件,不传就不检索,传了就进行条件查询,并返回相应数据)
八:返回数据规范
注:列表数据返回,没有特殊情况的条件下,必须最新数据在上面,依次排序。
返回事例:
{
"list":[],
"object":{}, //"object":""
"status":"SUCCESS",
"message":"我是提示消息",
 ...
"page":1,
"subnumber":10,
}
 
必选-命名规范:驼峰命名法。
必选 -新增键值规则:名字对应固定的格式(list就是数组[])。
举个栗子:比如一个 "list":[]满足不了需求,那么可以新增一个"map":[]。
比如一个 "object":{"name":"小明"}满足不了需求,那么可以新增一个"details":{"name":"小红"}。名字对应固定的格式,数组就是数组、实体类就是实体类、字段就是字段。不能data在这个接口返回的是实体类、另一个接口又返回数组了。需要特别注意。
 
必选-list:list列表(数组)为空时显示[]。
必选-object:实体数据,json键值对。
必选-status:状态信息=SUCCESS、ERROR等静态变量。
必选-message:提示消息。(加载成功、)
 
可选-page:页数(分页查新时使用、显示第几页从一开始)。
可选-subnumber:每页的格式(分页查询时使用、显示当前页的个数)。
 
九:接口文档规范
接口文档需要包含以下部分:
文档名称。
版本号。
编写人。
编写、修改日期。
baseUrl地址。
更新日志。
接口详情。(详情规范如下)
 
接口详情编辑规范:
一个完整的接口需要由以下几部分组成
1.请求地址 例如:https://127.0.0.1:8080/xxx/xxx/xxx
2.请求方式 例如:POST、GET等
3.请求参数 例如:传 id:“1”,name:“小明”
4.返回参数 例如:{ json... } 【参考上面的接口规范】
5.返回事例 例如:{ json... }
 
十:接口管理工具使用教程
接口管理工具有很多,例如RAP、eolinker等等。
接口管理工具基本的作用都是用来管理接口的。这里简单介绍 eolinker的使用方法。
使用方法步骤:
创建接口管理项目。
邀请开发者同事加入。
编写接口(接口地址、请求参数及备注、请求方式、返回参数及备注、返回事例、在线测试接口)。
开发者使用接口。
过程中灵活配合,接口可以灵活更新。
完成项目后可以导出接口文档。
 
附件:XXX接口管理工具使用教程 点击进入eolinker使用教程
RAP的特色:
RAP是一个GUI的WEB接口管理工具。在RAP中,您可定义接口的URL、请求&响应细节格式等等。通过分析这些数据,RAP提供MOCK服务、测试服务等自动化工具。RAP同时提供大量企业级功能,帮助企业和团队高效的工作。
在前后端分离的开发模式下,我们通常需要定义一份接口文档来规范接口的具体信息。如一个请求的地址、有几个参数、参数名称及类型含义等等。RAP 首先方便团队录入、查看和管理这些接口文档,并通过分析结构化的文档数据,重复利用并生成自测数据、提供自测控制台等等... 大幅度提升开发效率。
强大的GUI工具 给力的用户体验,你将会爱上使用RAP来管理您的API文档。
完善的MOCK服务 文档定义好的瞬间,所有接口已经准备就绪。有了MockJS,无论您的业务模型有多复杂,它都能很好的满足。
庞大的用户群 RAP在阿里巴巴有200多个大型项目在使用,也有许多著名的公司、开源人士在使用。RAP跟随这些业务的成行而成长,专注细节,把握质量,经得住考验。
免费 + 专业的技术支持 RAP是免费的,而且你的技术咨询都将在24小时内得到答复。大多数情况,在1小时内会得到答复。
RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率
 
完本。

如果有什么建议或者意见,请在邮箱或者评论区留言,谢谢。
我的邮箱: [email protected]

你可能感兴趣的:(随笔)