HTTP 接口设计
最后更新于:2022-04-02 03:08:55
[TOC]
## 路由命名规范
| 动作 | 前缀 | 备注 |
| --- | --- | --- |
| 获取 | get | get{XXX} |
| 获取 | get | get{XXX}List |
| 新增 | add | add{XXX} |
| 修改 | update | update{XXX} |
| 保存 | save | save{XXX} |
| 删除 | delete | delete{XXX} |
| 上传 | upload | upload{XXX} |
| 发送 | send | send{XXX} |
## 请求方式
| 请求方式 | 描述 |
| --- | --- |
| GET | 获取数据 |
| POST | 新增数据 |
| PUT | 更新数据 |
| DELETE | 删除数据 |
## 请求参数
### APP 端请求,公共参数
| 参数 | 说明 | 备注 |
| --- | --- | --- |
| network | 网络 | WIFI、4G |
| operator | 运营商 | 中国联通/移动 |
| platform | 平台 | iOS、Android |
| system | 系统 | ios 13.3、android 9 |
| device | 设备型号 | iPhone XR、小米9 |
| udid | 设备唯一标示 |
|
| apiVersion | API 版本号 | v1.1、v1.2 |
### WEB 端请求
| 参数 | 说明 | 备注 |
| --- | --- | --- |
| appKey | 授权Key | 字符串 |
### 请求参数安全规范
#### 敏感参数加密处理
登录密码、支付密码,需加密后传输,建议使用 `非对称加密`。
#### 其他规范
**参数命名规范** 建议使用驼峰命名,首字母小写。
**requestId** 建议携带唯一标示追踪问题。
## 返回参数
### 返回参数格式
| 参数 | 类型 | 说明 | 备注 |
| --- | --- | --- | --- |
| code | Number | 结果码 | 成功=1 ; 失败=-1 ; 未登录=401 ;无权限=403 |
| showMsg | String | 显示信息 | 系统繁忙,稍后重试 |
| errorMsg | String | 错误信息 | 便于研发定位问题 |
| data | Object | 数据 | JSON 格式 |
#### 分页数据返回格式
```
{
"code": 1,
"showMsg": "success",
"errorMsg": "",
"data": {
"list": [],
"pagination": {
"total": 100,
"currentPage": 1,
"prePageCount": 10
}
}
}
```
### 安全规范
#### 敏感数据脱敏处理
用户手机号、用户邮箱、身份证号、支付账号、邮寄地址等要进行脱敏,部分数据加 `*` 号处理。
### 其他规范
* 属性名命名时,建议使用驼峰命名,首字母小写。
* 属性值为空时,严格按类型返回**默认值**。
* 金额类型/时间日期类型的属性值,如果仅用来显示,建议**后端**返回可以显示的字符串。
* 业务逻辑的状态码和对应的文案,建议后端两者都返回。
* 调用方不需要的属性,不要返回。
';