Bastien et moi avons passé beaucoup de temps pour customiser DRF Spectacular afin d'afficher les informations que l'on souhaite dans Gitbook.
Malgré tout le temps passé (4 ou 5 jours en cumulé) nous n'arrivons toujours pas au résultat attendu. Il est par exemple toujours compliqué d'afficher des exemples pour les filtre de requêtes, notamment parce que DRF Spectacular ne prend pas en compte toutes les specs d'OpenAPI.
Je vous propose de mettre de côté Spectacular et de fonctionner avec ces nouveaux outils :
En deux mots :
le système détecte automatiquement toutes les URLs de l'API
pour chaque URL, il détecte la méthode/fonction associée
il vérifie ensuite si cette méthode est décorée via @rnb_doc()
le décorator @rnb_doc permet d'insérer le schéma que l'on souhaite via un dict
ce dict est ensuite inséré dans le schéma global
Le chemin /api/alpha/schema génère maintenant le schéma OpenAPI à partir des fonctions décorées par @rnb_doc. Le format est toujours YAML.
Tests : j'ai ajouté des tests vérifiant que le schéma que nous avons inséré est conforme aux specs OpenAPI.
Aussi, une nouvelle commande api_schema affiche le schéma qui va être généré. Le flag --validate peut être utilisé pour vérifier si le schéma est correcte (au sens où il respecte ou non les specs OpenAPI)
Pour le contenu : j'ai passé les trois endpoints bâtiments ainsi que le endpoint de diff au nouveau format. Il restera à convertir les endpoint ADS.
Bastien et moi avons passé beaucoup de temps pour customiser DRF Spectacular afin d'afficher les informations que l'on souhaite dans Gitbook.
Malgré tout le temps passé (4 ou 5 jours en cumulé) nous n'arrivons toujours pas au résultat attendu. Il est par exemple toujours compliqué d'afficher des exemples pour les filtre de requêtes, notamment parce que DRF Spectacular ne prend pas en compte toutes les specs d'OpenAPI.
Je vous propose de mettre de côté Spectacular et de fonctionner avec ces nouveaux outils :
En deux mots :
Le chemin
/api/alpha/schema
génère maintenant le schéma OpenAPI à partir des fonctions décorées par @rnb_doc. Le format est toujours YAML.Tests : j'ai ajouté des tests vérifiant que le schéma que nous avons inséré est conforme aux specs OpenAPI.
Aussi, une nouvelle commande
api_schema
affiche le schéma qui va être généré. Le flag--validate
peut être utilisé pour vérifier si le schéma est correcte (au sens où il respecte ou non les specs OpenAPI)Pour le contenu : j'ai passé les trois endpoints bâtiments ainsi que le endpoint de diff au nouveau format. Il restera à convertir les endpoint ADS.