云行 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…