Comment utiliser Swagger UI pour afficher la documentation de l'API dans FastAPI
Introduction :
Dans le développement Web moderne, l'API fait partie intégrante. Afin de faciliter le développement et la maintenance, nous devons fournir une documentation API conviviale et facile à utiliser afin que les autres développeurs puissent comprendre et utiliser notre API. Swagger est un format et un outil de documentation d'API populaire qui fournit une interface utilisateur interactive pouvant afficher visuellement les détails de l'API. Dans cet article, je vais vous montrer comment utiliser l'interface utilisateur Swagger dans FastAPI pour afficher la documentation de l'API.
Installer les dépendances
Tout d'abord, nous devons installer FastAPI et les dépendances associées. Il peut être installé à l'aide de la commande suivante :
pip install fastapi[all]
Cela installera FastAPI et toutes les dépendances dont il a besoin, y compris Swagger UI.
Création d'une application FastAPI
Ensuite, nous créerons une application FastAPI. Dans un nouveau fichier Python, écrivez le code suivant :
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"}
Cette application simple définit une route racine qui renvoie un simple message "Hello World".
Ajouter l'interface utilisateur Swagger
Afin d'ajouter l'interface utilisateur Swagger à notre application, nous devons importer les composants FastAPI pertinents. Ajoutez le code suivant à notre fichier d'application :
from fastapi import FastAPI from fastapi.openapi.utils import get_openapi from fastapi.openapi.docs import get_swagger_ui_html app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} def custom_swagger_ui_html(*, request): openapi_url = app.openapi_url swagger_url = openapi_url.replace("/openapi.json", "/swagger") return get_swagger_ui_html( openapi_url=openapi_url, title=app.title + " - Swagger UI", oauth2_redirect_url=swagger_url + "/oauth2-redirect.html", swagger_js_url="/static/swagger-ui-bundle.js", swagger_css_url="/static/swagger-ui.css", ) app.openapi = get_openapi(title="My API") @app.get("/swagger", include_in_schema=False) async def swagger_ui_html(request: Request): return custom_swagger_ui_html(request=request) app.mount("/static", StaticFiles(directory="static"), name="static")
Dans le code, nous créons une fonction personnalisée appelée custom_swagger_ui_html
. Cette fonction utilisera la fonction get_swagger_ui_html
fournie par FastAPI pour générer la page HTML de Swagger UI. Nous avons également défini certaines URL et chemins d'accès aux fichiers statiques pour l'interface utilisateur Swagger. custom_swagger_ui_html
的自定义函数。这个函数将使用FastAPI提供的get_swagger_ui_html
函数来生成Swagger UI的HTML页面。我们还为Swagger UI定义了一些URL和静态文件的路径。
运行应用
现在我们的应用已经准备就绪,可以运行它了。在终端中,使用以下命令来启动应用:
uvicorn main:app --reload
这将启动我们的应用,并使其运行在本地的默认地址http://localhost:8000
上。
http://localhost:8000/swagger
Exécutez l'application
Maintenant, notre application est prête et nous pouvons l'exécuter. Dans le terminal, utilisez la commande suivante pour démarrer l'application :
Cela démarrera notre application et la fera s'exécuter localement à l'adresse par défaut http://localhost:8000
.
http://localhost:8000/swagger
dans le navigateur, vous verrez une interface utilisateur interactive Swagger. Il affichera les détails de votre API, y compris les modèles de routage, de demande et de réponse, et bien plus encore. 🎜🎜🎜Conclusion : 🎜En utilisant FastAPI et Swagger UI, nous pouvons facilement afficher et parcourir notre documentation API. Cela permet aux développeurs de comprendre et d'utiliser plus facilement notre API. J'espère que cet article pourra vous aider à utiliser l'interface utilisateur Swagger pour afficher les documents API dans FastAPI. 🎜🎜Ce qui précède est un guide sur la façon d'utiliser l'interface utilisateur Swagger pour afficher les documents API dans FastAPI. J'espère que cet article vous sera utile. Merci d'avoir lu! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!