2. REST 基本特征
1.REST 的最基本特征
我们把服务器提供的服务统一称为资源.
我们可以使用 URL 来定位资源, 如 / v1/book/user/1 来定位一个用户
定位到资源以后, 可以使用 HTPP 动词来操作资源, 类似使用 DDL 操作数据库.
image.png
对于视图函数的 URL, 尽量不应该包含动词, 因为 URL 是用来定位资源的, 例如我们之前的试图函数, 应该这样改写
- @api.route('', methods=['GET'])
- def get_book():
- return 'get book'
- @api.route('', methods=['POST'])
- def create():
- return 'create book'
2. 为什么标准的 REST 不适合内部开发
REST 的使用场景有两个: 内部开发 API, 开放 API.
标准的 REST 比较适合开放性的 API. 只负责提供数据, 不负责业务逻辑
由于内部的开发, 业务逻辑非常复杂, 想用简单的四个接口来标示所有的业务逻辑, 基本上是不可能的
REST 的接口粒度比较粗 (返回的资源属性比较多; 服务器不会负责处理数据), 这样前端的开发是不太方便的
标准的 REST 会造成 HTTP 请求的数量大幅度的增加
3. 建议
尽量遵从 REST 的设计风格规范
要灵活一些, 如果前端要考虑业务逻辑的话, 我们就不要遵从资源的限制了, 应该让 API 具有业务逻辑的性质
如果前端需要几个资源合并在一起的数据, 那么我们就为前端定制一个合并数据的接口
来源: http://www.jianshu.com/p/6cd47e52b625