一个接口文档模板的API设计流程

1. 基础说明

1.1 背景

[说明文档用途]

编写本文的目的是为了将系统功能进行模块化、服务化,将用户的操作以服务的方式提供。系统与系统之间遵循服务规范,将系统与系统之间的交互转为定制化服务交互,以实现系统与系统之间的集成。

1.2 基本约束

1.2.1 基本设计原则  

可以查看:《API设计指南-RestAPI设计最佳实践》篇文章介绍。

1.2.2 字符集

  • 所有接口字符集采用UTF-8。

1.2.3 返回类型约束

  • 所有接口返回必须是严格定义的JSON类型。

1.2.4 接口版本约束

  • 不允许发布无版本号的接口。
  • 接口版本首先解决的是一组接口的版本问题。

1.3 请求公共约束

请求的基本模板:

curl -X[HTTP METHOD] -H "Content-Type: application/json" -H "[token-info]:"
"https://api-[env-name].[groupname].domain.io/[client-group]/[service-group]/
[version]/[endpoint]" -d '{
  "head": [meta-parameters],
  "body": [content]
}'

1.4 URL整体规划

1.4.1 域名规范

  • https://api-[env-name].[groupname].domain.io/[client-group]/[service-group]/[version]/[endpoint]

1.4.2 域名规则

  • 开发环境:https://api-dev.payment.domain.io/
  • 测试环境:https://api-test.payment.domain.io/
  • 预演环境:https://api-staging.payment.domain.io/
  • 线上测试环境:https://api-onlinetest.payment.domain.io/
  • 生产环境:https://api.payment.domain.io/
  • 其中线上测试环境是上线过程中备用,比如线上一共3台生产环境服务器,将其中一台从生产环境切掉,更新程序并且将域名指向它,测试完之后再将生产环境流量切换过来。

1.5 基本数据类型约定

此约定是系统整体容错的一部分,但是无论接口使用者还是生产者,都不应该因为此容错而减少自己模块本来需要的容错工作。

API设计指南-「干货」一个接口文档模板的最佳实践

 

1.6 公共输入参数规范

API设计指南-「干货」一个接口文档模板的最佳实践

 

1.7 公共返回对象约定

{
  "responseCode": [responseCode],
  "responseInfo": {
    "userMessage": [userMessage],
    "internalMessage": [internalMessage],
    "guideline": [guideline link]
  },
  "link": {
    "document":" https://[domain]/docs#zoos",
    "href":[uri-info],
    "title":[doc-title],
    "type":"application/[vnd.yourformat]+json"
  },
  "responseData":[responseData]
}

1.8 公共错误编码及说明

API设计指南-「干货」一个接口文档模板的最佳实践

 

1.9 公共数据字典

API设计指南-「干货」一个接口文档模板的最佳实践

 

2. 订单服务

2.1 查询订单列表

2.1.1 接口规范

API设计指南-「干货」一个接口文档模板的最佳实践

 

2.1.2 输入参数示范

curl -XGET -H "Content-Type: application/json" -H "Access-Token:abcd1234" "https://api-dev.haitao.domain.io/mobile/data-platform/v1/orders/base-orders" -d '{
  "head": [meta-parameters],
  "body": {
    "pageSize":10,
    "pageNo":1
  }
}'

2.1.3 返回参数示范

{
  "responseCode": [responseCode],
  "responseInfo": {
    "userMessage": [userMessage],
    "internalMessage": [internalMessage],
    "guideline": [guideline link]
  },
  "link": {
    "document":" https://[domain]/docs#zoos",
    "href":[uri-info],
    "title":[doc-title],
    "type":"application/[vnd.yourformat]+json"
  },
  "responseData": {
    "pageCount": 12,
    "pageNo": 2,
    "data": {
    }
  }
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值