基于烧瓶的 REST api:棉花糖与烧瓶-restful
flask-based REST api: marshmallow vs flask-restful
过去几周我学习了 flask
教程。
根据我的理解,要基于 flask
构建一个简单的 REST api,有(除其他外)两种方法:
采用 flask-restful
并使用它来创建 Resources
然后通过适当的 url/routes 公开并将它们与 sqlalchemy
模型绑定
对模型使用纯 sqlalchemy
,然后对 de/serialization 使用 marshmallow
,并以 json
格式提供对象。
这两种方法有比较吗?我是这个领域的新手,marshmallow
方法似乎更快,也许更容易理解。
与 marshmallow
的 de/serialiation 层相比,采用 flask-restful
有什么好处吗?
Marshmallow 是一个 serialization/deserialization 库,flask-restful 是一个构建 REST API 的包。
是的,使用 flask-restful 有一些好处:
- 简单的参数解析
- 自定义错误处理程序
- 鼓励 REST 最佳实践
还有一个名为 Flask-Restplus 的包,它基于 Flask-resftul 但添加了一些功能,例如 Swagger 文档生成、更好的错误处理等:https://flask-restplus.readthedocs.io/en/stable/
过去几周我学习了 flask
教程。
根据我的理解,要基于 flask
构建一个简单的 REST api,有(除其他外)两种方法:
采用
flask-restful
并使用它来创建Resources
然后通过适当的 url/routes 公开并将它们与sqlalchemy
模型绑定对模型使用纯
sqlalchemy
,然后对 de/serialization 使用marshmallow
,并以json
格式提供对象。
这两种方法有比较吗?我是这个领域的新手,marshmallow
方法似乎更快,也许更容易理解。
与 marshmallow
的 de/serialiation 层相比,采用 flask-restful
有什么好处吗?
Marshmallow 是一个 serialization/deserialization 库,flask-restful 是一个构建 REST API 的包。
是的,使用 flask-restful 有一些好处:
- 简单的参数解析
- 自定义错误处理程序
- 鼓励 REST 最佳实践
还有一个名为 Flask-Restplus 的包,它基于 Flask-resftul 但添加了一些功能,例如 Swagger 文档生成、更好的错误处理等:https://flask-restplus.readthedocs.io/en/stable/