我是flask的新手,我试着做一个简单的json请求,我试过通过cmd使用curl:
curl -d "{35465460:55}" 127.0.0.1:5000/post
退货:
- 无法解码JSON对象:属性名称必须括在双引号中:第1行第2列(字符1)*
所以我试着:
curl 127.0.0.1:5000/post?data={1:1}
退货:
- 请求的URL不允许使用该方法。*
我在www.example.com上使用的代码app.py是:
from flask import Flask, request, jsonify
app = Flask(__name__)
randomnumber = 0
@app.route('/')
def hello_world():
randomnumber = random.randrange(0,100)
return 'Hello, World! Your random number is: ' + str(randomnumber)
@app.route('/post', methods=["GET","POST"])
def testpost():
input_json = request.get_json(force=True)
dictToReturn = {'text':input_json['text']}
return jsonify(dictToReturn)
所以我的问题是为什么我似乎不能得到返回的json数据?
1条答案
按热度按时间eoigrqb61#
JSON不支持整数作为键-键必须是字符串。
在路由路径中包含HTTP方法名称是不可取的,因为它不能很好地伸缩,并且当您允许一个以不同方法命名的路由使用多个方法时,会造成混乱。
您可以将
-X POST
与curl一起使用,使其提交POST而不是GET(这是默认方法)。