Maison > Article > développement back-end > Comment implémenter la génération automatique de documents API et l'affichage de l'interface utilisateur dans FastAPI
Comment implémenter la génération automatique de documents API et l'affichage de l'interface utilisateur dans FastAPI
Avec un framework Python puissant comme FastAPI, nous pouvons facilement créer des API Web hautes performances. Cependant, lors de la création d'une API, nous avons également besoin d'une documentation API claire et facile à comprendre pour aider les autres développeurs à comprendre et à utiliser notre API. Cet article explique comment utiliser FastAPI pour générer automatiquement des documents API et les afficher via l'interface utilisateur.
Tout d'abord, nous devons installer FastAPI et les bibliothèques dépendantes associées. Exécutez la commande suivante dans la ligne de commande pour les installer :
pip install fastapi pip install uvicorn pip install fastapi_utils
Ensuite, nous devons importer les modules nécessaires :
from fastapi import FastAPI from fastapi_utils.api_model import APIModel from fastapi_utils.api_doc import APIModelDoc
Ensuite, nous créons une instance de FastAPI :
app = FastAPI()
Ensuite, nous pouvons définir un modèle d'API. Le modèle API est défini à l'aide de la classe APIModel
fournie par FastAPI, qui peut contenir des champs pour les requêtes et réponses API. APIModel
类来定义的,它可以包含用于API请求和响应的字段。
class User(APIModel): id: int name: str email: str
在我们的FastAPI应用程序中,我们可以使用该模型来定义API路由和逻辑。
@app.get("/users/{user_id}", response_model=User, summary="Get user by ID", tags=["users"]) def get_user(user_id: int): return {"id": user_id, "name": "John Doe", "email": "johndoe@example.com"}
在上面的代码中,我们为HTTP GET请求定义了一个路由/users/{user_id}
,并指定了响应模型为User
。我们还为该路由添加了一个简要说明和一个标签,以后我们可以通过标签来组织和过滤API文档。
接下来,我们可以使用APIModelDoc
类来为我们的API模型生成文档。
docs = APIModelDoc(app) docs.register(User)
有了以上代码,我们的API模型就被注册到了API文档中。
最后,我们需要使用docs.html
方法来获取自动生成的API文档的HTML代码。
@api.route('/docs', method="GET", tags=["docs"]) def get_docs(): return docs.html()
在上面的代码中,我们定义了一个GET路由/docs
,并返回了自动生成的API文档的HTML代码。这里我们为这个路由添加了一个标签docs
,以便在API文档中进行过滤和组织。
现在,让我们运行我们的FastAPI应用程序并查看自动生成的API文档。
if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000)
在命令行中执行以下命令以启动应用程序:
python app.py
然后在浏览器中访问http://localhost:8000/docs
rrreee
rrreee
Dans le code ci-dessus, nous définissons une route/users/{user_id}
pour la requête HTTP GET et spécifions le modèle de réponse comme User
. Nous avons également ajouté une brève description et une étiquette à l'itinéraire, que nous pourrons ensuite utiliser pour organiser et filtrer la documentation de l'API. Ensuite, nous pouvons utiliser la classe APIModelDoc
pour générer de la documentation pour notre modèle API. 🎜rrreee🎜Avec le code ci-dessus, notre modèle API est enregistré dans le document API. 🎜🎜Enfin, nous devons utiliser la méthode docs.html
pour obtenir le code HTML de la documentation de l'API générée automatiquement. 🎜rrreee🎜Dans le code ci-dessus, nous définissons une route GET /docs
et renvoyons le code HTML de la documentation API générée automatiquement. Ici, nous ajoutons une balise docs
à cette route pour la filtrer et l'organiser dans la documentation de l'API. 🎜🎜Maintenant, exécutons notre application FastAPI et consultons la documentation de l'API générée automatiquement. 🎜rrreee🎜Exécutez la commande suivante dans la ligne de commande pour démarrer l'application : 🎜rrreee🎜Puis visitez http://localhost:8000/docs
dans votre navigateur et vous devriez pouvoir voir le fichier généré automatiquement Document API. 🎜🎜Grâce aux étapes ci-dessus, nous avons implémenté avec succès la génération automatique et l'affichage de l'interface utilisateur des documents API dans FastAPI. Vous pouvez personnaliser et ajuster davantage le style et le contenu de la documentation de l'API en fonction de vos besoins. 🎜🎜J'espère que cet article vous aidera à créer une API puissante à l'aide de FastAPI et fournira une documentation claire et facile à comprendre pour votre API. 🎜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!