FastAPI使用@app.get/@app.post等装饰器注册路由无效404 Not Found
(一)问题描述
使用@app.get注册路由,前端发送请求访问路径和路由一致,但一直显示404 Not Found,检查了好几遍,确认没有访问路径不一致的问题。
在Swagger文档里查看,也没有找到这个新添加的接口。
(二)解决方法
想了半天觉得可能是IDE的问题。一直用的是Pycharm,换成了VSCode,发现刚刚添加的接口和函数代码居然离奇失踪了!在VSCode里打开发现根本没有这个接口!怪不得会404 Not Found。
后来发现是因为Pycharm打开的项目文件夹和实际终端运行的项目文件夹不是一个。即我这次打开的是文件夹1,但我上次打开并运行的是文件夹2,所以终端指向的运行地址还是文件夹2。我在文件夹1里做了修改,结果运行的却是文件夹2!文件夹2是一直没被修改过的,它没有新添加的这个接口!
(三)总结
所以还是不要把不同版本的代码都放在本地,容易搞混(无论是人还是IDE),用git管理更好,别偷懒