Flask调用接口时持续出现Persistent Not Found 404错误问题咨询
问题原因
你发起POST请求的目标地址http://localhost:5000/api没有在路由规则中定义,当前项目仅注册了/、/index、/bankclassify三个路由,因此服务端返回404未找到错误。
解决方案
你可以根据自己的业务需求选择以下对应方案:
- 方案1:在当前项目新增
/api路由处理预测逻辑
如果你打算把模型预测逻辑放在当前Flask项目中,直接在routes.py中新增/api的POST路由即可,示例如下:# 新增到routes.py末尾 @app.route("/api", methods=['POST']) def predict_api(): # 接收请求中的JSON参数 req_data = request.get_json() # 这里补充你的模型加载、数据预处理、预测逻辑 # 示例预测逻辑,替换为你自己的代码即可 age = req_data.get("age") balance = req_data.get("balance") predict_res = "符合贷款条件" if int(balance) > 10000 else "不符合贷款条件" # 返回JSON格式结果 return jsonify({"result": predict_res}) - 方案2:修正POST请求的调用参数
你当前的POST请求传递JSON的写法不规范,会导致服务端无法正常解析参数,建议修改为以下写法,无需手动执行json.dumps:# 替换你原来的input_data序列化、requests.post两行代码 results = requests.post(url, json={ "age": age, "job": job, "marital": marital, "education": education, "default": default, "balance": balance, "housing": housing, "loan": loan }) - 方案3:如果预测接口是独立服务,确认服务启动状态
如果你是要调用其他独立部署的模型预测服务,请先确认该服务已经正常启动、端口配置正确、/api路由已经注册,避免端口冲突(如果和当前Flask服务在同一台机器运行,两个服务不能使用同一个端口)。
内容的提问来源于stack exchange,提问作者Rayen
相关产品推荐
相关产品推荐

