我尝试将Flutter应用程序中的json发送到Flask Backend应用程序,但是未发送json。
我的Dart代码:
Map<String, dynamic> jsonMap = {
"Title": "Titulo da todo",
"Description": "Descrição da todo",
};
final response = await client.post("http://10.0.2.2:5000/todo", body: jsonEncode(jsonMap);
final Map result = jsonDecode(response.body);
print(result);
}
result.body始终为{'error':'invalid'}
Python代码
def create_todo():
try:
json = request.get_json()
print("Json: ", json)
#return {'ok' : 'ok post'}
return jsonify(TodoService().create(json))
except:
return {'error' : 'invalid'}
Json: None
127.0.0.1 - - [12/Nov/2019 16:27:00] "POST /todo HTTP/1.1" 200 -
答案 0 :(得分:1)
默认情况下,如果mimetype,此函数将仅加载json数据 是application / json,但是可以用force参数覆盖。
确保添加内容类型标头:
await client.post(
'http://10.0.2.2:5000/todo',
headers: {'content-type': 'application/json;charset=utf-8'},
body: utf8.encode(json.encode(jsonMap)),
);