如何在Flutter上使用Json Body进行HTTP发布 [英] How to Http Post with Json Body on Flutter

查看:489
本文介绍了如何在Flutter上使用Json Body进行HTTP发布的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从API获取数据。我需要在没有标题的邮递员中从正文传递值:不显示应用程序/ JSON数据。

I am trying to get data from API. I need to pass value from the body, in postman without a header: application/JSON data is not displayed.

final response = await http.post(
      "http://192.168.10.25:8080/Login/validateusername",
    body: {"username": "user@PYA"},
      headers: {'Content-Type': 'application/json'},
    );

错误消息:

E/flutter (28851): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter (28851): Bad state: Cannot set the body fields of a Request with content-type "application/json".

推荐答案

添加内容类型 application / json

Future<String> apiRequest(String url, Map jsonMap) async {
  HttpClient httpClient = new HttpClient();
  HttpClientRequest request = await httpClient.postUrl(Uri.parse(url));
  request.headers.set('content-type', 'application/json');
  request.add(utf8.encode(json.encode(jsonMap)));
  HttpClientResponse response = await request.close();
  // todo - you should check the response.statusCode
  String reply = await response.transform(utf8.decoder).join();
  httpClient.close();
  return reply;
}

这篇关于如何在Flutter上使用Json Body进行HTTP发布的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆