场景描述

本地测试时,运行服务器代码,使用 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. 端口问题

  • 还有一个未明确原因的情况:之前出现过一次但未能成功复现,本地运行时怎么都接收不到对应发出的测试接口请求,修改了端口后重新运行即可成功接收