Strapi 3.6.8修改内容类型后Swagger文档未更新、重复Schema如何解决
解决Strapi v3.6.8 documentation插件Swagger展示旧内容类型、重复Schema问题
问题根源
Strapi v3的官方documentation插件存在缓存残留缺陷:修改/删除内容类型后,插件不会自动清理本地和数据库中存储的旧Swagger Schema,重命名的内容类型生成新Schema时会自动加New前缀避免重名冲突,最终同时展示新旧两套Schema。
解决步骤
- 先停止正在运行的Strapi服务
- 删除本地文档缓存目录下的所有内容,目录路径为:
extensions/documentation/documentation/ - 清空数据库中documentation插件对应的两张缓存表:
strapi_documentation:存储生成的Swagger Schema明细strapi_documentation_version:存储文档版本记录
不同数据库可按对应操作方式处理:SQLite可直接打开.tmp/data.db文件操作,MySQL/PostgreSQL可执行TRUNCATE语句清空表数据
- 执行命令清理Strapi构建缓存并重新构建:
用yarn的环境执行:yarn build --clean
用npm的环境执行:npm run build -- --clean - 重启Strapi服务,进入管理后台的文档管理页面,点击Regenerate按钮重新生成全量文档即可
后续规避方案
后续修改内容类型后如果再次出现同样问题,重复上述步骤即可,Strapi v3的documentation插件本身没有内置废弃Schema自动清理逻辑,需要手动清理缓存后重新生成。
内容的提问来源于stack exchange,提问作者Code Guru
相关产品推荐
相关产品推荐

