Si vous utilisez le modèle application factory de Flask :
fromflask_jeroboamimportJeroboamdefcreate_app(config_name="development"):app=Jeroboam(__name__)app.config.from_object(f"config.{config_name}")# Vos blueprints iciapp.init_app()returnapp
Appelez init_app() après l’enregistrement de vos vues pour enregistrer les gestionnaires d’erreurs et les endpoints OpenAPI.
Personnalisez la façon dont les erreurs de validation sont formatées :
fromflask_jeroboamimportJeroboamfromflaskimportjsonifyapp=Jeroboam(__name__)@app.errorhandler(422)defhandle_validation_error(e):# Format personnalisé pour les erreurs de validationreturnjsonify({"errors":e.description}),422
Les erreurs de validation retournent maintenant votre format personnalisé.
Comment configurer Flask-Jeroboam¶
Flask-Jeroboam fonctionne prêt à l’emploi, mais vous pouvez personnaliser son comportement pour correspondre à vos besoins.
Désactiver la documentation OpenAPI¶
Si vous ne voulez pas que Jeroboam génère la documentation d’API :
Les endpoints
/docset/openapi.jsonne seront pas enregistrés.Personnaliser l’URL des documents¶
Changez où la documentation est servie :
Accédez maintenant aux documents à
/api-docsau lieu de/docs.Changer le titre OpenAPI¶
Personnalisez le titre de l’API dans la documentation :
Ceux-ci apparaissent dans le schéma OpenAPI et l’interface de documentation.
Désactiver les gestionnaires d’erreurs automatiques¶
Jeroboam enregistre les gestionnaires d’erreurs génériques pour les erreurs de validation. Pour désactiver :
Vous devrez gérer vous-même les erreurs de validation.
Validation des réponses¶
La validation des réponses est toujours active quand un
response_modelest spécifié. Vous pouvez la désactiver par endpoint :Il n’y a pas de commutateur global pour désactiver la validation des réponses. Contrôlez-la sur chaque endpoint selon vos besoins.
Utiliser avec le modèle application factory¶
Si vous utilisez le modèle application factory de Flask :
Appelez
init_app()après l’enregistrement de vos vues pour enregistrer les gestionnaires d’erreurs et les endpoints OpenAPI.Configuration avec des variables d’environnement¶
Chargez la configuration depuis l’environnement :
Puis définissez les variables d’environnement lors de l’exécution :
Réponses d’erreur personnalisées¶
Personnalisez la façon dont les erreurs de validation sont formatées :
Les erreurs de validation retournent maintenant votre format personnalisé.
En-têtes de réponse¶
Ajoutez des en-têtes à toutes les réponses ou à des endpoints spécifiques :
Toutes les réponses incluent l’en-tête personnalisé.
Mise en cache des réponses¶
Mettez en cache les réponses pour améliorer les performances :
Ceci met en cache la réponse pendant 1 heure. La combinaison de Jeroboam avec les extensions Flask comme Flask-Caching fonctionne sans problème.
Configuration CORS¶
Activez CORS si votre API est accédée depuis un navigateur :
Jeroboam fonctionne avec les extensions Flask standard sans problème.
Journalisation et débogage¶
Activez le mode debug de Flask pour voir les traces d’erreur complètes :
En mode debug, les erreurs de validation incluent les traces de pile et les détails. Désactivez en production.
Réglage des performances¶
Pour les APIs à fort trafic, considérez ces optimisations :
N’oubliez pas : utilisez Gunicorn, uWSGI ou similaire en production, pas
app.run().