【发布时间】: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