将参数从 url 传递到方法时出错

Error when passing parameter from url to method

我正在为我的网络服务使用 Flask,当我尝试访问以下内容时 url

http://127.0.0.1:5000/2,3/5,6

我收到以下错误:

return self.view_functions[rule.endpoint](**req.view_args)
TypeError: getDistance() got an unexpected keyword argument 'startCoord'

我该如何解决这个错误?

代码:

@app.route("/<string:startCoord>/<string:endCoord>",methods=['GET'] )
def getDistance():
startLat, startLng = startCoord.split(',')
end1Lat, endLng = endCoord.split(',')

print("/api.openrouteservice.org/v2/directions/driving-car?api_key=" + config['EndPoint']['api_key'] + "&start=" + startLat + "," + startLng + "&end=" + end1Lat + "," + endLng)

输出:

['API_KEY']
<Section: API_KEY>

url 编码参数应该在函数参数中:

@app.route("/<string:startCoord>/<string:endCoord>",methods=['GET'] )
def getDistance(startCoord,endCoord):

https://flask.palletsprojects.com/en/1.1.x/quickstart/#variable-rules

你应该这样定义你的路线:

@app.route("/<string:startCoord>/<string:endCoord>",methods=['GET'] )
def getDistance(startCoord, endCoord):
    startLat, startLng = startCoord.split(',')
    end1Lat, endLng = endCoord.split(',')