【问题标题】:Attaching the Token to Outgoing Http Requests but I got page not found [closed]将令牌附加到传出的 Http 请求,但找不到页面 [关闭]
【发布时间】:2021-11-13 00:10:40
【问题描述】:

我是 Flutter 的新手 当我向传出的 Http 请求添加令牌但找不到页面时。 你可以看到我在尝试 catch 块它显示错误并且我还打印 Http 状态码

它还打印 404 有什么解决办法

Future<void> fetchandSetProduct() async {
var url = Uri.https('cakejaffna-default-rtdb.firebaseio.com',
    '/cakelist.json?auth=$authToken');

try {
  final response = await http.get(url);
  print(" ");
  print(url);
  print(response.statusCode);

  final extractData = json.decode(response.body) as Map<String, dynamic>;
  if (extractData == null) {
    return;
  }
  final List<Cake> loadedProduct = [];
  print(extractData);
  extractData.forEach((cakeId, cakeData) {
    loadedProduct.add(Cake(
        id: cakeId,
        imageUrl: cakeData['imageUrl'],
        title: cakeData['title'],
        hotelName: cakeData['hotelName'],
        rating: cakeData['rating'],
        ratecount: cakeData['ratecount'],
        amount: cakeData['amount'],
        details: cakeData['details'],
        categories: cakeData['categories'] as List<dynamic>));
  });
  print("karan");
  print(loadedProduct[0].imageUrl);
  _cakeList = loadedProduct;
  notifyListeners();
} catch (error) {
  print(error);
  print("rellay error");
}

}

【问题讨论】:

  • 当我尝试访问相同的 URL (https://cakejaffna-default-rtdb.firebaseio.com/.json) 时,我得到了{ "error" : "Permission denied" },这似乎是正确的。
  • 是的,我得到了令牌,但我无法获取数据。 var url = Uri.https('cakejaffna-default-rtdb.firebaseio.com', '/cakelist.json?auth=$authToken');找不到此网址,状态码显示 404
  • 啊,那么数据库存在吗?难道里面没有cakelist节点?
  • 这里,那个 fetchAndSetProduct 方法失败了,但我不知道为什么会这样?令牌有什么问题吗?但我有蛋糕清单
  • 请看我的输出图片

标签: flutter authentication firebase-realtime-database


【解决方案1】:

网址格式应该这样改变

final url = Uri.https('cakejaffna-default-rtdb.firebaseio.com',
    '/cakelist.json', {'auth': '$authToken'});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 2016-08-24
    • 2012-10-04
    • 2019-10-01
    • 1970-01-01
    • 2018-04-09
    • 2019-10-03
    • 2022-01-07
    相关资源
    最近更新 更多