现代Web开发中的RESTful API设计原则
REST的核心定义
REST(Representational State Transfer)是一种软件架构风格。在RESTful架构中,服务器不保存客户端状态(无状态),系统实体被视为资源(Resources),通过统一接口对其进行操作。
URI与资源定位
URI应仅用于定位资源,必须使用名词,严禁包含动词。资源的层级关系应通过路径展示:
- 反例:
POST /createUser - 正例:
POST /users - 层级:
GET /users/123/orders/45(获取ID为123的用户的第45号订单)
HTTP方法的语义化
| HTTP方法 | 行为 | 幂等性 |
|---|---|---|
| GET | 读取资源 | 是 |
| POST | 创建资源 | 否 |
| PUT | 整体替换 | 是 |
| PATCH | 部分更新 | 否/是 |
| DELETE | 删除资源 | 是 |
HATEOAS(超媒体作为应用状态的引擎)
这是REST架构成熟度的最高级别。API的响应不仅包含数据,还应包含资源相关的链接,引导客户端发现后续可以执行的操作。