专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 统一API文档格式

统一API文档格式

更新时间:2021-10-18 14:04:54 来源:动力节点 浏览782次

相信大家对API文档都不陌生,但是有很多朋友对API文档格式规范不是很清楚,下面小编就来给大家详细介绍一下。

全局说明

本文档用于数据平台所有对内,对外合作项目的API规范,之后新项目接口格式都按此规范执行

服务端采用了类 RESTFUL 的 API 风格(接口语义化)

所有的 GET 请求的 API 数据接口都采用 JSON 格式。标准的接口格式中都包含着 data 字段,业务数据都包含在这个 data 字段中,并且 data 字段恒为对象格式

常见错误通过HTTP状态码来返回错误,业务方约定错误通过 code 值返回错误

本API格式说明为服务端API规范,中间层转发默认为全透明代理(完全按后端返回格式为准)

与前端合作的所有 http(s) 接口需要记录在 swagger接口管理工具中

基本概念

tn : totalNumber => 总条数

sn : sizeNumber => 分页阈值

cn : currentNumber => 当前页数

pn : pageNumber => 总页数

q : query => 查询参数

asc: 1/0 => 升序/降序

code: 业务约定,0为正确,其他为错误

orderBy: key => 以 key 作为排序参数

需要注意的点

所有资源 ID 对当前接口返回统一命名为 id

数据库操作 下划线 连接所有对外字段,全部改为小驼峰

接口格式规范、数据类型强统一

每一个接口返回的数据格式应该始终一致

同一个接口有 data 字段,不管任何情况都应该返回 data 字段

每个字段返回的数据类型应该始终一致

字段类型是 数组 就恒为数组,空值时也应该为空数组,不能为空字符串或者 Null

字段类型为 字符串 就恒为字符串,空值为""

字段类型为 对象 时,空值为null

常见的HTTP状态码

200 ok  - 成功返回状态,对应,GET,PUT,PATCH,DELETE. 
201 created  - 成功创建。     
301 move permanently -永久重定向
302 move temporaily  -临时重定向
304 not modified   - HTTP缓存有效。     
400 bad request   - 请求格式错误。     
401 unauthorized   - 未授权。     
403 forbidden   - 鉴权成功,但是该用户没有权限。     
404 not found - 请求的资源不存在     
405 method not allowed - 该http方法不被允许。     
410 gone - 这个url对应的资源现在不可用。     
415 unsupported media type - 请求类型错误。     
422 unprocessable entity - 校验错误时用。     
429 too many request  -请求过多。
500 interal server error  -内部服务错误
501 not implemented -未实现
502 bad gateway -网关报错
503 service unavailable -服务不可用
504 gateway time-out -网关超时

例子

GET方法通用返回定义

GET 方法请求单条数据返回的标准数据格式:

// response body 
{     
  "code": -1, // 错误状态码     
  "message": "服务器错误,请联系对应RD负责人"  // 错误消息     
  "data": {         
    //数据 Body     
  }   
  // 数据格式强统一,不论单挑数据还是多条数据查询,Data 都是对象. 
}  

GET 方法请求多条数据返回的标准数据格式:

// response body  
{      
  "code": 1,      // 错误状态码      
  "message": "服务器错误,请联系对应RD负责人",  // 错误消息      
  "data": {          
    "tn": 999,                            // 多条数据必须返回          
    "cn": 1,                            // 多条数据必须返回          
    "pn": 10,                           // 多条数据必须返回          
    "sn": 100,                          // 多条数据必须返回          
    "q": "xx",                          // 非必须          
    "cacheTime": '2017-07-31 15:41:27'  // 如果做数据缓存的话,是在返回体里做这个还是 Header 头?          
    "items": [{                  
         //单条数据 Body              
    },{ 
         //单条数据 Body           
    }             
     // ...          
    ]      
  }    // 数据格式强统一,不论单挑数据还是多条数据查询,Data 都是对象.  
}   

POST方法通用返回定义

POST 方法操作成功后,返回三个字段。

code 字段0表示插入成功,其他数字标识错误编号

message 字段表示代码运行后显示的消息,如:插入成功 插入失败,已有相关名称

data 内显示新增字段的内建唯一标识码,告诉前端数据插入到了哪里

{         
  "code": 1,      // 错误状态码         
  "message": "服务器错误,请联系对应RD负责人"  // 错误消息         
  "data": {             
    id: 2 //新插入的事件的唯一标识码         
  }     
} 

PUT/DELETE/PATCH/OPTION方法通用返回定义

这四种方法操作成功后,返回两个字段

{         
"code": 0, // 0 表示操作成功, 其它数字表示错误编号         
"message": "数据更新成功!", 
"data": {}     
} 

以上就是关于“统一API文档格式”的介绍,大家若想了解更多相关知识,可以关注一下动力节点的Java学习资料,里面的课程内容详细,通俗易懂,适合0基础的小白学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>