簡體   English   中英

如何使用顫振和 Dio 為 POST 設置標頭

[英]How to set headers for POST with flutter and Dio

這是我下面的代碼,我被卡住了請幫忙。

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);
    }
}

它拋出數據為空的錯誤。

我能夠解決這些問題。

dio.post方法添加可選參數options並使用Options類定義標題:

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);
  }
}
For example :  
   Dio _dio = new Dio();
        _dio.options.contentType = Headers.formUrlEncodedContentType;
        
        _dio.options.headers['Authorization'] = 'bearer $authToken';
    or use :
        final Map<String, dynamic> header = {'Authorization': 'bearer $authToken'};

        enter code here
        final responseData = await _dio.get(
          Apis.account_profit,
          options: RequestOptions(
              method: 'GET', headers: header, baseUrl: Apis.apiBaseUrl),
        );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM