有梦就去追 有梦就去追

记录精彩的程序人生

目录
RESTFul 风格 API 设计
/        

RESTFul 风格 API 设计

修订记录

| 日期 | 修订版本 | 修订章节 | 修改描述 | 作者 | |
| - | - | - | - | - | - |
| 20170623 | V1.0 | 全文 | 新增 | 某某 | |

注意事项

  • 类型是属性类型,只有String、Number、Object、Array
  • 编码格式默认为utf-8

接口说明

1. 商品新增[单个]

  • 请求地址: post /api/{version}/products
  • 请求参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| name | 商品名 | String | ... | 是 |
| price | 价格 | Number | ... | 是 |
| id | 商品编号 | String | ... | 是 |

  • 返回参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| code | 返回码 | Number | | 是 |
| message | 返回码说明 | Number | | 是 |

2. 商品新增[批量]

  • 请求地址: post /api/{version}/products
  • 请求参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| datas | 商品数据数组 | Array | ... | 是 |

其中,datas中的一个data:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| name | 商品名 | String | ... | 是 |
| price | 价格 | Number | ... | 是 |
| id | 商品编号 | String | ... | 是 |

  • 返回参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| code | 返回码 | Number | | 是 |
| message | 返回码说明 | Number | | 是 |

3. 查看商品详情

  • 请求地址: get /api/{version}/products/{id}
  • 请求参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| id | 是 | Number | ... | 是 |

  • 返回参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| code | 返回码 | Number | | 是 |
| message | 返回码说明 | Number | | 是 |
| data | 返回结果 | Object | | 是 |

其中,data:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| name | 商品名 | String | ... | 是 |
| price | 价格 | Number | ... | 是 |
| ... | ... | ... | ... | ... |

4. 查看商品详情列表

  • 请求地址: get /api/{version}/products
  • 请求参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |

  • 返回参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| code | 返回码 | Number | | 是 |
| message | 返回码说明 | Number | | 是 |
| datas | 返回结果 | Array | | 是 |

其中,datas:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| name | 商品名 | String | ... | 是 |
| price | 价格 | Number | ... | 是 |
| ... | ... | ... | ... | ... |

5. 修改商品状态

  • 请求地址: put /api/{version}/products/{id}/{status}
  • 请求参数

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| id | 是 | Number | ... | 是 |
| status | 是 | Number | ... | 是 |

  • 返回参数

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| code | 返回码 | Number | | 是 |
| message | 返回码说明 | String | | 是 |

6. 删除商品

  • 请求地址: delete /api/{version}/products/{id}
  • 请求参数:

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| id | 是 | Number | ... | 是 |

  • 返回参数

| 字段 | 说明 | 类型 | 备注 | 是否必填 |
| - | - | - | - | - |
| code | 返回码 | Number | | 是 |
| message | 返回码说明 | String | | 是 |

通用例子

  • GET /products : 返回所有商品列表
  • POST /products : 将商品加入到里商品列表中
  • GET /products/4 : 获得4号商品
  • PATCH/PUT /products/4 : 更新4号商品
  • DELETE /products/4 : 删除4号商品

参考资料


标题:RESTFul 风格 API 设计
作者:flhuoshan
地址:http://ymjqz.com/articles/2021/01/03/1498362333874.html