fastapi 禁用 swagger

25次阅读
没有评论

共计 477 个字符,预计需要花费 2 分钟才能阅读完成。

背景

起初是早上收到安全同事发出的一个问题整改单,说是提供在预发环境的公网接口存在风险,看到单子里面的内容是

https://xxxxx/openapi.json 存在泄露数据风险

然后我也访问看了下返回的内容确实存在一定的危险,之前开发的api接口都是在内网,也不存在泄露的问题,这次项目特殊需要走公网接口,web api 使用fastapi 开发。

解决方法

在 FastAPI 中,如果你想关闭 OpenAPI 文档接口(/openapi.json),你可以通过在创建 FastAPI 实例时将 openapi_url 设置为 None 来实现:

from fastapi import FastAPI

app = FastAPI(openapi_url=None)

这将禁用 /openapi.json 接口,也会间接关闭 Swagger UI(默认依赖该接口)。

如果你还想进一步关闭 Swagger UI 和 ReDoc 文档界面,也可以通过设置:

app = FastAPI(
    openapi_url=None,
    docs_url=None,
    redoc_url=None
)

这样将完全禁用 FastAPI 的所有自动生成文档功能。

正文完
请博主喝杯咖啡吧!
post-qrcode
 
admin
版权声明:本站原创文章,由 admin 2025-05-07发表,共计477字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码