这两天看了《Flask Web开发》一书的第14章,关于 Flask RESTful Web服务的相关内容,有些地方还不太完全理解,这里只记录自己总结出来的一点感想,很有局限性,仅作记录和参考。
REST架构 的本质是将一切内容都当作资源对待,所以,针对不同的资源,后台应该用不同的路由进行管理,而其中的简单套路总结于此:
- 资源管理动作的分类:
- 查询单项/列表资源:列出该类/该项资源
- 新建/编辑资源:创建/修改资源内容,可能需要提供相应权限
- 查询关联资源: 多个类型的资源因业务相互关联,如:作者——文章——评论
资源管理动作的路由代码编写套路:
查询单项资源:
1. 查询资源对象 get_or_404(id)
2. return jsonify(资源.to_json())查询列表资源:
1. 获取当前查询的页码page
2. 根据page
查询当前页所对应的数据集
3. 根据当前页位置指定前后页url
4. return jsonify({资源列表, 前一页url, 后一页url, 数据记录总数})新建资源:
1. 根据请求发来的数据创建资源数据
2. 检查当前用户是否有操作权限
3. 存入数据库
4. return jsonify(资源.to_json()), 201, {资源url}编辑资源:
1. 查询资源对象 get_or_404(id)
2. 检查当前用户是否有操作权限
3. 将修改写入数据库
4. return jsonify(资源.to_json())查询关联资源:
1. 查询关联关系中的主体资源对象 get_or_404(id)
2. 获取当前查询的页码page
3. 根据page
查询当前页所对应的数据集
4. 根据当前页位置确定前后页url
5. return jsonify({资源列表, 前一页url, 后一页url, 数据记录总数})
以上几种就是常见的Flask RESTful Web服务开发的基本套路。以后有遇到新的或需要修改的会逐步更新。