flutter - 如何使用flutter和Dio为POST设置 header

标签 flutter dart

这是我的下面的代码,我被卡住了,请帮助。

void getProducts() async {
    String htoken = Utils.prefs.getString("token");
    print(htoken);
    try {
      var dio = Dio(BaseOptions(headers: {"appusertoken": "$htoken"}));
  //dio.options.headers["appusertoken"] = "$htoken";

      Response response = await dio.post(
        'APIURL',
      );
      print("data coming");
      print(response.data);
    } on DioError catch (e) {
      print(e.response.data);
      print(e.response.headers);
      print(e.response.request);
    }
}

它抛出了数据为空的错误。

最佳答案

我能够解决问题。

options方法添加可选参数dio.post,并使用Options类定义 header :

void getProducts() async {
  String htoken = Utils.prefs.getString("token");
  try {
    Dio dio = Dio();
    Response response = await dio.post("http://URL",
      data: {},
      options: Options(
        headers: {"appusertoken": "$htoken"},
      ));

    print("data coming");
    print(response);
  } on DioError catch (e) {
    print(e.response.data);
    print(e.response.headers);
    print(e.response.request);
  }
}

关于flutter - 如何使用flutter和Dio为POST设置 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57930077/

相关文章:

flutter - 在这种情况下,有什么方法可以在initState中使用FutureBuilder(future)?

flutter - Flutter/Dart-为什么我的Future返回Null?

flutter - 如何在 Flutter AnimatedSize 小部件中监听调整大小事件

flutter - Flutter:无法移动或更改SDK位置

dart - 为什么Dart Aqueduct服务器中的main.dart配置被忽略

javascript - Dart应用和跨域策略

firebase - Flutter/Dart QuerySnapshot isEqualTo 或运算符?

flutter - 使用 Obx,出现此错误 : [Get] the improper use of a GetX has been detected

angular - 在 dart 中与 typescript 互操作

flutter - 致命异常 : java. lang.RuntimeException : Unable to destroy activity {com. example.app.MainActivity} : java. lang.IllegalArgumentException: