You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask使用GET请求获取单个游戏时Postman返回404错误如何解决

问题原因
  • 未给获取单个游戏的视图函数绑定正确的@app.route路由装饰器,也没有显式指定允许GET请求,导致服务端根本没有注册对应路径的接口,请求时直接返回404。
  • 现有视图函数的逻辑错误:仅对POST请求做了返回处理,你需要的GET请求没有对应的返回分支,就算路由配置正确也会触发异常。
  • 存在命名冲突问题:模型层查询方法和视图函数都命名为get_game,调用时可能出现预期外的错误。
  • 路径参数传值错误:若请求时gamename包含特殊字符、空格未做URL转义,或者拼写和库中存储的gamename不一致,也可能触发匹配异常。
修复方案

修正后的视图层代码如下:

# 绑定路由,明确指定允许GET方法,视图函数改名避免和模型方法冲突
@app.route('/api/games/<gamename>', methods=['GET'])
def get_single_game(gamename):
    # 调用模型层方法查询对应游戏
    game = game_model.get_game(gamename)
    if game:
        # MongoDB返回的_id是ObjectId类型,不能直接json序列化,需先转成字符串
        game['_id'] = str(game['_id'])
        return jsonify(game), 200
    # 未查询到对应游戏时返回404提示
    else:
        return jsonify({"msg": "指定游戏不存在"}), 404

额外注意事项:

  • 启动Flask服务后,请求的URL要把<gamename>替换成实际的游戏名,比如查询名为GTA5的游戏,请求地址应为http://localhost:5000/api/games/GTA5,不要保留尖括号。
  • 如果游戏名包含空格、中文等特殊字符,需要先做URL编码后再请求,避免路径匹配失败。
  • 确认全局已经导入jsonify、request等Flask依赖模块。

内容的提问来源于stack exchange,提问作者Christian Chim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:24:02