Flask服务根路径返回404,无法显示预设状态信息求助
问题排查与解决
嘿,我一眼就发现根路径404的原因啦!你的Flask路由写法犯了一个常见的小错误:
错误原因
Flask的@app.route()装饰器不需要传入完整的URL,它只负责处理服务器根目录下的相对路径。你现在写的@app.route("http://127.0.0.1:5000/", methods = ['GET'])会让Flask把整个URL字符串当成一个特殊的路径节点——也就是说,只有访问http://127.0.0.1:5000/http://127.0.0.1:5000/这个奇怪的路径才会触发这个函数,而正常的根路径/根本没有对应的路由处理,所以返回404错误。
修正后的代码
把根路径的路由改成只写/就可以了,另外顺便给你优化下返回格式(保持JSON结构更规范):
from flask import Flask import requests from datetime import datetime from flask import jsonify app = Flask(__name__) # 修正后的根路径路由 @app.route("/", methods = ['GET']) def main(): # 用键值对返回更标准的JSON格式 return jsonify(status='service is ready') @app.route("/parser/<string:website>", methods = ['GET']) def parse(website): return jsonify("parsing this website :", website ) if __name__ == "__main__": app.run(debug=True)
验证效果
启动服务后:
- 访问
http://127.0.0.1:5000/会返回{"status": "service is ready"},正常显示服务就绪状态 - 访问
http://127.0.0.1:5000/parser/tengrinews依然会正常返回["parsing this website :", "tengrinews"]
内容的提问来源于stack exchange,提问作者ERJAN
相关产品推荐
相关产品推荐

