云行 AI 开发日记 - 8. RESTFul 设计规范的最佳实践

8 阅读1分钟

云行 AI 的后端基于 SpringBoot 框架开发,所有 API 接口均遵循 RESTful 规范设计。以下是 RESTful 设计的最佳实践规范:

1. 资源导向的路径设计

  • URL应基于资源(实体)来命名,而非动作,动作由HTTP方法(GET、POST、PUT、DELETE等)来表达。

  • 资源名称使用复数形式,且统一小写,单词间用中划线(-)连接,避免使用下划线或驼峰命名。例如:

    • /api/products(正确)
    • /api/product(错误)
    • /api/productList(错误)

2. 版本控制

  • API版本号应放在URL路径中,通常放在最前面,方便管理和兼容多个版本。例如: /v1/api/products 或 /api/v1/products,推荐前者更直观。

3. 合理使用HTTP方法

  • GET:获取资源或资源列表
  • POST:创建资源
  • PUT/PATCH:更新资源
  • DELETE:删除资源
  • 通过HTTP方法区分操作,避免在路径中使用动词,如**/create-product**是不推荐的。

4. 路径参数和查询参数

  • 路径参数用于唯一标识资源,如**/api/products/{id}**
  • 查询参数用于过滤、分页、排序等,如**/api/products?category=electronics&page=2**

5. 统一接口前缀

  • 所有接口统一以**/api/v1/api**开头,保持接口入口一致,避免业务前缀混乱。

6. 返回格式与错误处理

  • 返回数据格式统一使用JSON,避免嵌套过深,保持数据结构简单。
  • 使用合适的HTTP状态码反馈请求结果,如200、201、400、404等。
  • 提供清晰结构化的错误响应,方便前端处理。

详细代码示例可以直接参考云行 AI 的项目:

Github:github.com/boyazuo/yun…

Gitee:gitee.com/yxboot/yunx…