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

Flask Web服务访问带坐标参数URL时报TypeError的问题

问题原因

Flask 框架解析路由匹配到的路径参数后,会以关键字参数的形式自动传入绑定的视图函数。你的路由规则里定义了startCoord、endCoord两个路径参数,但对应的视图函数没有定义同名字段的形参,框架传参时就会抛出“收到意外关键字参数startCoord”的类型错误。

具体修复操作

  • 给getDistance视图函数补上和路由参数同名的形参列表,保证参数匹配不报错
  • 修正代码里的变量名笔误:拆分终点坐标时误写的end1Lat调整为和业务逻辑一致的endLat,避免后续拼接链接时触发变量未定义的报错
  • 修正配置读取逻辑:从你打印的配置结构看,你的配置块名称为API_KEY而非代码里写的EndPoint,读取接口密钥时要对应正确的配置路径,否则无法正常拿到密钥值
  • 修正拼接接口地址的前缀错误:你原来打印的请求地址缺少https://前缀,会导致生成的链接不符合标准URL格式

修复后的参考代码

# 配置读取路径请对齐你实际的config文件结构
@app.route("/<string:startCoord>/<string:endCoord>", methods=['GET'])
def getDistance(startCoord, endCoord):
    startLat, startLng = startCoord.split(',')
    endLat, endLng = endCoord.split(',')
    request_url = (
        "https://api.openrouteservice.org/v2/directions/driving-car"
        f"?api_key={config['API_KEY']['api_key']}"
        f"&start={startLat},{startLng}"
        f"&end={endLat},{endLng}"
    )
    print(request_url)

调整完成后重启Flask服务,访问http://127.0.0.1:5000/2,3/5,6就可以正常执行视图逻辑,不会再触发参数不匹配的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.31 13:24:07