Python 2.7 调用pythonapi的仪表
这是meteor函数,我们无法从meteor调用RESTAPIPython 2.7 调用pythonapi的仪表,python-2.7,meteor,flask,Python 2.7,Meteor,Flask,这是meteor函数,我们无法从meteor调用RESTAPI 'toScaleInstance': function(){ var Response = HTTP.call("PUT", "0.0.0.0:8765/service/api/v1", { headers:{"content-type":"application/json"}, data:{ "nu
'toScaleInstance': function(){
var Response = HTTP.call("PUT", "0.0.0.0:8765/service/api/v1",
{
headers:{"content-type":"application/json"},
data:{
"num":"1",
"project":"projectname"
}
});
console.log(Response);
}
它抛出“没有可以解码的JSON对象”,api是用python编写的。同样的api使用curl也可以很好地工作
curl --dump-header - -H "Content-Type: application/json" -X PUT --data "{\"num\":\"1\", \"project\":\"projectname\"}" 0.0.0.0:8765/service/api/v1/
如果你需要更多信息,请告诉我。多谢各位
python代码
@app.route("/api/v1/", methods=['PUT'])
def scale():
"""
docker-compose scale
"""
req = loads(request.data)
name = req['project']
num = req['num']
"""
some logic
"""
return jsonify(command='scale')
注意:我们在python中打印request.data,在Meteor调用时打印null,在通过curl请求时打印正确的数据,我认为python代码没有返回任何json。请尝试以下操作:
from flask import jsonify
@app.route('/api/v1', methods=['PUT'])
def scale():
" docker-compose scale "
# your logic here
return jsonify(return_value)
你能发布python代码吗?@app.route(“/api/v1/”,methods=['PUT'])def scale():req=loads(request.data)name=req['project']num=req['num'].“some code”“”看起来不像python代码返回任何json。请使用
jsonify
,如果您正在使用flaskI更新代码,并且我们有一个返回语句,很抱歉,我没有给出完整的代码,不得不删除一些逻辑,只是为了使它变小。