出于某种原因,我没有得到json作为我的回答。我究竟做错了什么?我希望能够在调用post函数时得到结果dict,但我回来的只是一个200状态代码,表明一切正常。
@app.route('/data', methods=['POST'])
def data():
if request.method == "POST":
result = {
"data": {
"name": "First, Last",
"value": 1
}
}
return Response(json.dumps(result), mimetype='application/json; charset=utf-8')
else:
abort(404)
我尝试过不同的方法来返回json对象:
return json.dumps(result)
return jsonify(result)
但没有任何作用:\
答案 0 :(得分:1)
我不确定但是可能是,网址/data
在其他地方被使用,你永远不会调用这个特定的功能。
您可以在函数中添加一些日志记录或打印以验证是否已调用该函数。
我在一个简单的例子中使用python 2.7和Flask 0.12尝试了你的代码,它可以工作。
# -*- coding: utf-8 -*-
import json
from flask import Flask, jsonify, Response, request
# Initialize the Flask application
app = Flask(__name__)
# Set some configuration to the flask ap
app.config['DEBUG'] = True
# Default route for /
@app.route("/data", methods=['POST'])
def index():
if request.method == "POST":
result = {
"data": {
"name": "First, Last",
"value": 1
}
}
# Both worked
# return jsonify(result)
return Response(json.dumps(result), mimetype='application/json; charset=utf-8')
else:
return abort(404)
将文件导出为FLASK_APP
export FLASK_APP=server.py
并运行服务器
flask run