【问题标题】:Flutter Post Request颤振发布请求
【发布时间】:2019-12-19 11:07:05
【问题描述】:

我需要用header和json body编写Post请求,如下;

标头请求:

Content-Type:application/json

Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9

正文请求:

{
  "Data": {
    "Permissions": [
      "ReadAccountsDetail",
      "ReadProducts",
      "ReadStandingOrdersDetail",
      "ReadTransactionsCredits",
      "ReadTransactionsDebits",
      "ReadTransactionsDetail",
      "ReadPAN"
    ],
    "ExpirationDateTime": "2019-06-29T00:00:00+00:00",
    "TransactionFromDateTime": "2019-05-03T00:00:00+00:00",
    "TransactionToDateTime": "2019-12-03T00:00:00+00:00"
  },
  "Risk": {}
}

【问题讨论】:

标签: api flutter dart


【解决方案1】:

正如 Sergio Bernal 指出的,您应该在 pubspec.yaml 中包含 http

dependencies:
    ...
    http: any

然后像下面这样导入它:

import 'package:http/http.dart' as http;

这将允许您使用以下方法:

http.post(dynamic url, {Map<String, String> headers, dynamic body, Encoding encoding})

这是你的例子:

String url = "http://example.co"
Map<String, String> headers = new Map<String, String>();
headers['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9';
headers['Content-Type'] = 'application/json';

String body = jsonEncode(
    {
        "Data": {
            "Permissions": [
            "ReadAccountsDetail",
            "ReadProducts",
            "ReadStandingOrdersDetail",
            "ReadTransactionsCredits",
            "ReadTransactionsDebits",
            "ReadTransactionsDetail",
            "ReadPAN"
            ],
            "ExpirationDateTime": "2019-06-29T00:00:00+00:00",
            "TransactionFromDateTime": "2019-05-03T00:00:00+00:00",
            "TransactionToDateTime": "2019-12-03T00:00:00+00:00"
          },
       "Risk": {}
    }
);

await http.post(url, headers: headers, body: body).then((response){
    if(response.statusCode == 200) {
        //Success
    } else {
        //Handle failure
    }
});

【讨论】:

  • 嗨 mertcanb,感谢您的代码,但我的正文有问题,它是 json 格式,我看到他们使用地图的例子很少。你能帮我吗?还是我应该把它复制到那里?
  • 您可以在 jsonEncode 方法中添加您的 JSON 对象,并使用正文字符串发送请求。查看编辑后的答案!
猜你喜欢
  • 2022-01-06
  • 2021-02-23
  • 2021-08-11
  • 2020-03-15
  • 2020-04-22
  • 2018-08-09
  • 2020-11-10
  • 1970-01-01
  • 2020-08-12
相关资源
最近更新 更多