Contribute Media
A thank you to everyone who makes this possible: Read More

Marshmallow, de la sérialisation à la construction d'une API REST

Description

La question de la sérialisation des données se pose quand on doit échanger des objets métier via un service web, ou bien les enregistrer en base de données ou simplement dans des fichiers.

Pour cela, on a recours à une bibliothèque de sérialisation telle que marshmallow.

Dans un premier temps, on expliquera succinctement les enjeux de la sérialisation et l'intérêt d'une bibliothèque dédiée.

Puis on détaillera les fonctionnalités majeures de marshmallow : validation, customisation de champs, imbrication, pré/post-traitements,...

Ensuite, on abordera les fonctionnalités fournies par quelques bibliothèques de son écosystème : génération de schémas marshmallow depuis un ORM/ODM, désérialisation des requêtes d'un service web, génération automatique de documentation OpenAPI (Swagger).

Et enfin on présentera flask-smorest, un cadriciel de développement d'API REST basé sur Flask et marshmallow :

  • Définition des entrées/sorties de l'API avec des schémas
  • Génération automatique de doc OpenAPI et exposition de cette doc via une interface interactive
  • Pagination
  • Génération et vérification d'ETag
  • Messages d'erreur structurés et explicites

Details

Improve this page