Heim >Backend-Entwicklung >Python-Tutorial >So implementieren Sie die automatische Generierung von API-Dokumenten und die UI-Anzeige in FastAPI
So implementieren Sie die automatische Generierung von API-Dokumenten und die UI-Anzeige in FastAPI
Mit einem leistungsstarken Python-Framework wie FastAPI können wir problemlos leistungsstarke Web-APIs erstellen. Beim Erstellen einer API benötigen wir jedoch auch eine klare und leicht verständliche API-Dokumentation, um anderen Entwicklern zu helfen, unsere API zu verstehen und zu verwenden. In diesem Artikel wird erläutert, wie Sie FastAPI verwenden, um API-Dokumente automatisch zu generieren und über die Benutzeroberfläche anzuzeigen.
Zuerst müssen wir FastAPI und zugehörige abhängige Bibliotheken installieren. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren:
pip install fastapi pip install uvicorn pip install fastapi_utils
Als nächstes müssen wir die erforderlichen Module importieren:
from fastapi import FastAPI from fastapi_utils.api_model import APIModel from fastapi_utils.api_doc import APIModelDoc
Dann erstellen wir eine Instanz von FastAPI:
app = FastAPI()
Als nächstes können wir ein API-Modell definieren. Das API-Modell wird mithilfe der von FastAPI bereitgestellten Klasse APIModel
definiert, die Felder für API-Anfragen und -Antworten enthalten kann. 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
Im obigen Code definieren wir eine Route/users/{user_id}
für die HTTP-GET-Anfrage und geben das Antwortmodell als Benutzer
an. Wir haben der Route außerdem eine kurze Beschreibung und eine Beschriftung hinzugefügt, die wir später zum Organisieren und Filtern der API-Dokumentation verwenden können. Als nächstes können wir die Klasse APIModelDoc
verwenden, um Dokumentation für unser API-Modell zu generieren. 🎜rrreee🎜Mit dem obigen Code wird unser API-Modell im API-Dokument registriert. 🎜🎜Schließlich müssen wir die Methode docs.html
verwenden, um den HTML-Code der automatisch generierten API-Dokumentation abzurufen. 🎜rrreee🎜Im obigen Code definieren wir eine GET-Route /docs
und geben den HTML-Code der automatisch generierten API-Dokumentation zurück. Hier fügen wir dieser Route ein Tag docs
hinzu, um sie in der API-Dokumentation zu filtern und zu organisieren. 🎜🎜Jetzt führen wir unsere FastAPI-Anwendung aus und sehen uns die automatisch generierte API-Dokumentation an. 🎜rrreee🎜Führen Sie den folgenden Befehl in der Befehlszeile aus, um die Anwendung zu starten: 🎜rrreee🎜Dann besuchen Sie http://localhost:8000/docs
in Ihrem Browser und Sie sollten das automatisch generierte sehen können API-Dokument. 🎜🎜Durch die oben genannten Schritte haben wir die automatische Generierung und UI-Anzeige von API-Dokumenten in FastAPI erfolgreich implementiert. Sie können den Stil und Inhalt der API-Dokumentation weiter an Ihre Bedürfnisse anpassen und anpassen. 🎜🎜Ich hoffe, dieser Artikel hilft Ihnen beim Aufbau einer leistungsstarken API mit FastAPI und bietet eine klare und leicht verständliche Dokumentation für Ihre API. 🎜Das obige ist der detaillierte Inhalt vonSo implementieren Sie die automatische Generierung von API-Dokumenten und die UI-Anzeige in FastAPI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!