web-dev-qa-db-fra.com

flask-RESTful vs flask-RESTless, qui doit être utilisé, et quand

Quelles sont les principales différences de ces deux bibliothèques en termes de convivialité et de fonctionnalités

Si vous avez déjà un grand nombre de classes de modèles, utiliser flask-restLESS est parfaitement logique, non?. Quelles sont les fonctionnalités qui lui manqueraient, si cela se faisait avec une fiole reposante. Ou, qu'est-ce que flask-restful vous donne, que flask agité ne peut pas fournir.?

20
ISONecroMAn

Bien que je sois sûr qu'il y aura un chevauchement important entre Flask-RESTful et Flask-RESTless, voici la différence dans orientation pour autant que je sache:

Flask-RESTful se veut générique, c'est une "abstraction légère qui fonctionne avec vos ORM/bibliothèques existantes". Vos ressources n'ont même pas besoin d'être un modèle lié à une base de données, et cela pourrait être n'importe quoi.

D'un autre côté, Flask-RESTless indique clairement que leur meilleur cas d'utilisation est "la création d'API JSON ReSTful simples à partir de modèles SQLAlchemy"

Donc, si vous avez beaucoup de modèles SQLAlchemy et avez besoin d'une API REST assez standard), vous pouvez utiliser Flask-RESTless pour accélérer le développement, vous avez besoin d'un code minimal pour exposer vos modèles dans l'API .

Si vous avez des points de terminaison personnalisés ou si vous souhaitez utiliser des modèles qui ne sont pas soutenus par SQLAlchemy, vous pouvez créer les vôtres sur Flask-RESTful

Comment décider/ou utiliser les deux

Vous pouvez également personnaliser Flask-RESTless (sérialisation, requêtes personnalisées, etc.), avec un code suffisant, vous pouvez utiliser les deux cadres.

Pour décider par exemple demandez-vous avez-vous des API basées sur des modèles plus structurées ou des API plus personnalisées , qui vous feraient gagner le plus de temps de développement et seulement traiter les cas particuliers lorsqu'ils surviennent .

Et vous pouvez utiliser les deux dans une seule application Flask, aucun problème là-bas, vous avez simplement par exemple la carte /api/resource-a/ vers une API Flask-RESTless et /api/resource-b/ vers une autre API à partir de made with Flask-RESTful

26
bakkal