1

最近升级了一下 fastapi 的版本

原来是 0.95.0,现在升级到了 0.100.0

打开 /docs 就会显示如下:

Unable to render this definition

The provided definition does not specify a valid version field.

Please indicate a valid Swagger or OpenAPI version field. Supported version fields are swagger: "2.0" and those that match openapi: 3.0.n (for example, openapi: 3.0.0).

挨个降低版本试了一下, fastapi<=0.98.0 是 ok 的

那么,为什么 fastapi > 0.98.0 就有问题呢?

我怀疑是这个原因: fastapi 使用本地静态文件替换 swagger cdn


所以我去掉了 swagger 相关的

app = FastAPI(docs_url=None, redoc_url=None, title='短视频后端接口')

改成

app = FastAPI(title='短视频后端接口')

然后再访问 /docs

就一切正常了

从这里可以看到 OAS 变成 3.1 了

图片.png

再放一个老版本的,老版本的 OAS 就是 3

图片.png

新的 swagger3.1 还是更新了不少内容的

图片.png


universe_king
3.4k 声望680 粉丝