主要观点:如今很多项目想暴露 REST API,但遵循 REST 约束的很少,有些情况下一开始就没必要遵循。主要违反的约束是超文本约束,文章将阐述 REST API 可实现的不同层次及何时合适何时不合适。
关键信息:
- 企业应用中可通过 REST API 暴露的三层:基础设施层、领域层、应用层。
- 基础设施层:以 CouchDB 为例,HTTP API 不完全符合 RESTful,开发者可决定是否遵循 REST 约束。
- 领域层:暴露领域模型存在问题,客户端难以知晓有效状态转换及遵循规则,不建议这样做。
- 应用层:适合通过 REST API 暴露,可封装应用规则,让客户端无需知晓 URL 构造等,目前缺乏帮助的框架。
重要细节: - 基础设施层:GET 本地 5984 端口返回{"couchdb":"Welcome","version":"1.0.1"},超文本未告知可做之事,开发者易误解。
- 领域层:以问题追踪器为例,客户端可更改状态但可能不符合领域模型规则,导致混乱。
- 应用层:GET 某问题返回包含数据和链接的信息,客户端可根据链接进行操作,无需知晓逻辑和 URL 构造。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。