web-dev-qa-db-ja.com

フラッターhttpヘッダー

ヘッダーマップの設定中に、ポストリクエストがエラーをスローしました。

ここに私のコードがあります

Future<GenericResponse> makePostCall(
  GenericRequest genericRequest) {String URL = "$BASE_URL/api/";

Map data = {
  "name": "name",
  "email": "email",
  "mobile": "mobile",
  "transportationRequired": false,
  "userId": 5,
};

Map userHeader = {"Content-type": "application/json", "Accept": "application/json"};


return _netUtil.post(URL, body: data, headers:userHeader).then((dynamic res) {
  print(res);
  if (res["code"] != 200) throw new Exception(res["message"][0]);
  return GenericResponse.fromJson(res);
});

}

しかし、ヘッダーでこの例外が発生しています。

`==╡例外によるジェスチャーfl = flutter:ジェスチャの処理中に次のアサーションがスローされました。または、実質的なフラッターを提供する必要があります。根本的な原因の特定と修正に役立つこのエラーメッセージの詳細情報。 flutter:どちらの場合でも、GitHubにバグを報告してこの主張を報告してください:flutter: https://github.com/flutter/flutter/issues/new?template=BUG.md flutter:flutter :例外がスローされたとき、これはスタックでした:flutter:#0 NetworkUtil.post1(package:saranam/network/network_util.Dart:50:41)flutter:#1 RestDatasource.bookPandit(package:saranam/network/rest_data_source。ダーツ:204:21)

この問題に直面している人はいますか?上記のログには何の手がかりも見つかりませんでした。

6
Satya Attili

試して

 Map<String, String> requestHeaders = {
       'Content-type': 'application/json',
       'Accept': 'application/json',
       'Authorization': '<Your token>'
     };
12
Sami Kanafani

このようにして、ヘッダー内で秘密鍵を渡しました。これは@Jawardにも答えます。

class URLS {
    static const String BASE_URL = 'https://location.to.your/api';
    static const String USERNAME = 'myusername';
    static const String PASSWORD = 'mypassword';
}

同じ.Dartファイル内:

class ApiService {

    Future<UserInfo> getUserInfo() async {

      var headers = {
        'pk': 'here_a_private_key',
        'authorization': 'Basic ' +
           base64Encode(utf8.encode('${URLS.USERNAME}:${URLS.PASSWORD}')),
        "Accept": "application/json"
      };

      final response = await http.get('${URLS.BASE_URL}/UserInfo/v1/GetUserInfo',
        headers: headers);

      if (response.statusCode == 200) {
        final jsonResponse = json.decode(response.body);
        return new UserInfo.fromJson(jsonResponse);
      } else {
        throw Exception('Failed to load data!');
      }
    }
}
0
cwhisperer