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

WBOY
WBOYoriginal
2023-07-28 23:27:222306parcourir

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/docsrrreee

Dans notre application FastAPI, nous pouvons utiliser ce modèle pour définir les routes et la logique de l'API.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn