paopao/docs/guides/Restful风格系统开发指导.md

57 lines
2.4 KiB
Markdown
Raw Normal View History

2024-05-13 14:59:55 +08:00
## RESTful架构简要开发指导
1. 遵循RESTful设计原则
资源导向将API视为对资源如用户、订单、文章等的操作每个资源都有唯一的URIUniform Resource Identifier
无状态:服务器不保留客户端会话状态,每次请求都应包含完成该操作所需的所有信息。
统一接口使用标准的HTTP方法GET、POST、PUT、PATCH、DELETE等来表达对资源的操作意图。
2. HTTP方法映射到CRUD操作
GET检索资源单个或集合。如GET /users获取所有用户、GET /users/123获取ID为123的用户
POST创建新资源。如POST /users请求体携带新用户信息。
PUT替换整个资源。如PUT /users/123请求体携带完整更新后的用户信息。
PATCH部分更新资源。如PATCH /users/123请求体只包含需要更改的属性。
DELETE删除资源。如DELETE /users/123。
3. 资源标识与URL结构
使用名词复数表示资源集合:如/users、/orders。
使用唯一标识符访问单个资源:如/users/123、/orders/456。
嵌套资源表示关联关系:如/users/123/orders表示用户ID为123的订单列表。
4. 数据交换格式
使用JSON作为默认数据格式设置Content-Type和Accept头为application/json。
定义清晰的数据模型,包括属性名称、数据类型、嵌套结构等。
5. 版本控制
在URL中包含版本号如/v1/users、/v2/orders。
使用Accept头区分版本如Accept: application/vnd.yourapp.v1+json。
6. 安全性与认证授权
实现用户认证如使用JWTJSON Web Tokens或OAuth。客户端在请求头中携带Authorization字段。
实施授权如使用RBACRole-Based Access Control或其他权限模型。返回401Unauthorized、403Forbidden等状态码处理未授权访问。
7. 错误处理与文档
使用合适的HTTP状态码传达操作结果如200 OK、400 Bad Request、404 Not Found、500 Internal Server Error等
提供详细的错误信息:在响应体中包含错误代码、描述和可能的解决方案。
编写或生成API文档如使用OpenAPI/Swagger规范提供接口描述、参数说明、请求示例、响应示例等信息。
### 更多参考
[【RESTful】RESTful API 接口设计规范 | 示例](https://developer.aliyun.com/article/940518)