如何在FastAPI中使用Swagger UI展示API文档
导言:在现代Web开发中,API是不可或缺的一部分。为了方便开发和维护,我们需要提供一个友好且易于使用的API文档,以便其他开发人员可以了解和使用我们的API。Swagger是一种流行的API文档格式和工具,它提供了一个交互式的UI界面,可以直观地展示API的细节。在本文中,我将向您展示如何在FastAPI中使用Swagger UI来展示API文档。
安装依赖首先,我们需要安装FastAPI和相关的依赖。可以使用以下命令进行安装:
pip install fastapi[all]
登录后复制
这将安装FastAPI及其所需的所有依赖项,包括Swagger UI。
创建FastAPI应用接下来,我们将创建一个FastAPI应用。在一个新的Python文件中,编写以下代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
登录后复制
这个简单的应用定义了一个根路由,用于返回一个简单的“Hello World”消息。
添加Swagger UI为了添加Swagger UI到我们的应用中,我们需要导入相关的FastAPI组件。将以下代码添加到我们的应用文件中:
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")
登录后复制
在代码中,我们创建了一个名为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
,你将看到一个交互式的Swagger UI界面。它将显示您的API的详细信息,包括路由、请求和响应模型等等。结论:通过使用FastAPI和Swagger UI,我们可以轻松地展示和浏览我们的API文档。这使得开发人员可以更加方便地了解和使用我们的API。希望本文能对您在FastAPI中使用Swagger UI展示API文档有所帮助。
以上就是如何在FastAPI中使用Swagger UI展示API文档的指南。希望本文能对您有所帮助。谢谢阅读!
以上就是如何在FastAPI中使用Swagger UI展示API文档的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!