当我尝试从我的应用发送Json时出错

时间:2019-11-12 19:33:20

标签: flutter dart

我尝试将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 -

1 个答案:

答案 0 :(得分:1)

来自flask documentation

  

默认情况下,如果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)),
  );