在Render部署FastAPI应用出现404 Not Found问题求助
问题原因及解决方案
原因
你的FastAPI应用仅在根路径(/)定义了POST请求的路由,但通过浏览器访问时发送的是GET请求,FastAPI找不到对应GET方法的路由,因此返回404 Not Found。
解决方案
1. 添加GET请求支持(用于测试或静态访问)
如果需要通过浏览器直接访问根路径能看到提示内容,可以给根路由添加GET方法支持,或单独定义GET路由:
from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Query(BaseModel): query: str @app.get("/") def root(): return {"message": "请使用POST请求访问此接口,参数为JSON格式的{\"query\": \"你的问题\"}"} @app.post("/") def researchAgent(query: Query): query = query.query content = agent({"input": query}) actual_content = content['output'] return actual_content
2. 使用正确的POST请求调用接口
若要调用业务接口,需发送POST请求并携带符合格式的JSON参数:
- 用
curl命令测试:
curl -X POST "https://你的Render部署域名/" -H "Content-Type: application/json" -d '{"query": "你的查询内容"}'
- 也可使用Postman、Thunder Client等工具,选择POST方法,设置请求头
Content-Type: application/json,在请求Body中传入JSON格式的查询参数。
3. 利用FastAPI自动文档调试
FastAPI自带自动生成的API文档,部署后可访问:
/docs:交互式Swagger UI,可直接在页面发送测试请求/redoc:简洁的结构化文档展示
内容的提问来源于stack exchange,提问作者andandandand
相关产品推荐
相关产品推荐

