【发布时间】:2016-10-13 12:39:55
【问题描述】:
这两个库的主要区别是什么?在可用性和功能方面
如果您已经拥有大量模型类,那么使用 flask-restLESS 非常有意义,对吧?如果使用 Flask-restful,它将缺少哪些功能。或者,flask-restful 给了你什么,flask restless 不能提供?
【问题讨论】:
标签: python rest flask flask-restful flask-restless
这两个库的主要区别是什么?在可用性和功能方面
如果您已经拥有大量模型类,那么使用 flask-restLESS 非常有意义,对吧?如果使用 Flask-restful,它将缺少哪些功能。或者,flask-restful 给了你什么,flask restless 不能提供?
【问题讨论】:
标签: python rest flask flask-restful flask-restless
虽然我确信 Flask-RESTful 和 Flask-RESTless 之间会有很大的重叠,但据我所知,方向的区别如下:
Flask-RESTful 旨在实现通用性,它是一种“适用于现有 ORM/库的轻量级抽象”。您的resources 甚至不必是绑定到数据库的模型,它可以是任何东西。
另一方面,Flask-RESTless 明确表示他们的最佳用例是“从 SQLAlchemy 模型创建简单的 RESTful JSON API”
因此,如果您有很多 SQLAlchemy 模型并且需要从中获得相当标准的 REST API,您可以使用 Flask-RESTless 来加快开发速度,您只需最少的代码即可将模型公开到 API 中。
如果您有自定义端点,或者想要使用不受 SQLAlchemy 支持的模型,您可以在 Flask-RESTful 上创建自己的模型
如何决定/或同时使用两者
您也可以自定义 Flask-RESTless(序列化、自定义查询等),只要有足够的代码,您就可以使用任一框架。
决定例如问问自己您是否有更多基于模型的结构化 API 或更多自定义 API,这将为您节省最多的开发时间,并且只在出现特殊情况时处理。。 p>
而且您可以在单个 Flask 应用程序中同时使用这两者,没有问题,您只需例如将 /api/resource-a/ 映射到 Flask-RESTless API,将 /api/resource-b/ 映射到另一个使用 Flask-RESTful 制作的 API
【讨论】:
/api/thing1/ 映射到 Flask-RESTless API,将 /api/thing2/ 映射到另一个使用 Flask-RESTful 制作的 API