场景描述
本地测试时,运行服务器代码,使用 apipost 或 postman 测试接口时,出现一直显示"发送请求中"的状态,但服务端并没有接收到任何请求记录的问题。
可能存在的问题及解决方法
1. URI 配置错误
- 检查服务端对应的 URI,可能存在问题,特别是使用 AI 辅助编码后,有时候大模型会误修改 URI,或者是自己输入错误
- 解决方法:务必确认对应的 URI 正确无误。特别注意 FastAPI 分模块创建的 router 实例在最终汇总路由器时统一添加了前缀的情况等
2. 端口占用问题
- 检查是否已经存在一个正在运行的服务占用了相同端口
- 解决方法:使用 telnet 进行端口服务检查,如果有则通过 kill 命令关掉对应的进程服务
3. 软件权限问题
- 可能是测试软件本身的网络权限问题
- 解决方法:关闭后重新打开软件。在 Windows 本地环境出现过这种情况,重新打开测试软件后,会弹出一个权限请求窗口(是否允许该软件使用对应的网络端口),点击允许后就可以正常使用
4. 容器缓存问题
- 使用 docker 等容器部署接口服务时,可能软件仍然按照之前的缓存进行构建运行
- 解决方法:
- 使用
docker compose up -d --build
在启动前重新构建 - 或使用
docker compose build --no-cache
命令不使用缓存构建特定的服务
- 使用
5. 端口问题
- 还有一个未明确原因的情况:之前出现过一次但未能成功复现,本地运行时怎么都接收不到对应发出的测试接口请求,修改了端口后重新运行即可成功接收