最近升级了一下 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 了
再放一个老版本的,老版本的 OAS 就是 3
新的 swagger3.1 还是更新了不少内容的
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。