RESTFul 风格 API 设计

本贴最后更新于 2706 天前,其中的信息可能已经时移世异

修订记录

日期 修订版本 修订章节 修改描述 作者
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 号商品

参考资料

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 2 关注
  • 设计
    114 引用 • 797 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Vanessa 1 赞同

    你们开始用 swagger 了?

    1 回复
  • flhuoshan
    作者

    一直在用呢

    1 回复
  • 看你搞这个,还以为你们要开始规范定制 API 了

    1 回复
  • flhuoshan
    作者

    暂时不会,我估计现在能到查询用 get,其他用 post 就很不错了

    1 回复
  • 哦。我们的搜索一律用 post,哪怕搜索条件只有一个 😄

    1 回复
  • flhuoshan
    作者

    这并不 restful,虽然所有类型的请求都可以用 post

请输入回帖内容 ...