You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI Swagger界面未随后端代码更新,如何在8000端口运行新UI?

解决FastAPI Swagger UI显示旧版本的问题

以下是直接有效的排查和解决方法:

  • 彻底重启后端服务
    旧进程可能仍占用8000端口,导致新代码未实际运行:

    • Windows:打开命令提示符,执行 netstat -ano | findstr :8000 找到进程PID,再用 taskkill /F /PID <PID号> 强制终止进程。
    • Linux/macOS:终端执行 lsof -i :8000 获取进程PID,然后 kill -9 <PID号>。
      之后重新启动FastAPI服务,比如执行 uvicorn main:app --reload --port 8000。
  • 强制清除浏览器本地缓存
    DNS缓存无效时,问题通常出在浏览器缓存的旧Swagger UI静态文件:

    • 按 Ctrl+Shift+R(Windows/Linux)或 Cmd+Shift+R(macOS)强制刷新页面;
    • 或进入浏览器设置,清除"缓存的图片和文件"类缓存后再访问。
  • 临时禁用浏览器缓存调试
    打开浏览器开发者工具(F12),在「网络」面板勾选「禁用缓存」选项,再刷新页面,确保加载最新静态资源。

  • 检查自定义Swagger配置是否完全移除
    确认新代码中已彻底删除旧的Swagger UI自定义配置,比如 swagger_ui_html、swagger_ui_oauth2_redirect_html 这类覆盖默认UI的设置,恢复FastAPI默认配置。

  • 验证服务是否加载新代码
    在代码中添加临时测试接口:

    @app.get("/test-new-code")
    def test_new_code():
        return {"message": "New code is running"}
    

    访问 http://localhost:8000/test-new-code,若返回新响应,说明服务已加载新代码,问题仅在Swagger UI缓存;若未返回,需继续排查进程启动或代码部署问题。

内容的提问来源于stack exchange,提问作者Pragyan Priyadarsini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 10:42:02