python - 基于Flask的REST API : marshmallow vs flask-restful

标签 python rest flask flask-restful marshmallow

我的语气是flask过去几周的教程。

根据我的理解,基于 flask 构建一个简单的 REST api ,有(除其他外)两种方法:

  • 采用flask-restful并用它来创建Resources然后通过适当的 url/routes 公开并将它们与 sqlalchemy 绑定(bind)型号

  • 使用普通 sqlalchemy对于模型,然后 marshmallow用于反/序列化和对象服务 json格式。

这两种方法有比较吗?我是这个领域的新手,marshmallow这种方法似乎更快,也许更容易遵循。

采用flask-restful有什么好处吗?与 marshmallow 的反/序列化层相比?

最佳答案

Marshmallow 是一个序列化/反序列化库,flask-restful 是一个用于构建 REST API 的包。

是的,使用flask-restful有一些好处:

  • 简单的参数解析
  • 自定义错误处理程序
  • 鼓励 REST 最佳实践

还有一个名为 Flask-Restplus 的包,它基于 Flask-resftul,但添加了一些功能,如 Swagger 文档生成、更好的错误处理等:https://flask-restplus.readthedocs.io/en/stable/

关于python - 基于Flask的REST API : marshmallow vs flask-restful,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56623341/

相关文章:

python - 当我在 Pandas 中使用 df.corr 时,我的一些专栏丢失了

php - 带有图像列表的子表的 MySQL 父表我可以将子表作为父表中的数组吗?

python - 如何在 Flask 中将 login_required 与类一起使用?

python - Flask 和 Bootstrap 删除模态 POST

python - 在 python2 与 python3 中映射

python - 查找错误: no codec search functions registered: can't find encoding

python - 在 Python 中对选定的日期数据进行子集化

c++ - 如何在 Ubuntu Linux 上将 C++ REST SDK 编译成静态库?

ios - 从 Swift 函数中的异步调用返回数据

dictionary - WTForms- flask : organize formfield name and data into dictionary