嗨,我得到這個錯誤。據我所知,當向服務器發出請求時,我不明白為什么。順便說一下,我試圖在這里找到答案,但不幸的是,要么答案不清楚,要么不適合我。
以下是一些可能對您有用的信息
- 來自服務器的響應形式為-
Model -
factory DetailsModel.fromJson(Map<String, dynamic> json) {
return DetailsModel(
cpu: json['CPU'],
camera:json['camera'],
id: json['id'],
price: json['price'],
rating: json['rating'],
sd: json['sd'],
ssd:json['ssd'],
title: json['title'],
capacity: json['capacity'],
color: json['color'],
images:json['images']
);
}
Request -
class DetailsRemoteDataSorceImpl implements DetailsRemoteDataSorce {
final http.Clientclient;
DetailsRemoteDataSorceImpl({required this.client});
@override
Future<List<DetailsModel>> getAllDetails() async {
final response = await http.get(
Uri.parse(ConfigUrl.details),
headers: {'Content-Type': 'application/json'}
);
if(response.statusCode == 200) {
final details = json.decode(response.body);
return (details as List).map((e) => DetailsModel.fromJson(e)).toList();
} else {
throw ServerException();
}
}
}
這就是我想要展示的-
Text(details[0].title,)
response.body -
Result response.body: {CPU: Exynos 990, camera: 108 + 12 mp, capacity: [126, 252], color: [#772D03, #010035], id: 3, images: [https://avatars.mds.yandex.net/get-mpic/5235334/img_id5575010630545284324.png/orig, https://www.manualspdf.ru/thumbs/products/l/1260237-samsung-galaxy-note-20-ultra.jpg], isFavorites: true, price: 1500, rating: 4.5, sd: 256 GB, ssd: 8 GB, title: Galaxy Note 20 Ultra}
請幫忙,我花了3-4個小時
正如您在api響應中看到的,它返回的是一個對象,而不是它們的列表,如果您期望一個項目列表,也許您應該聯系后端開發人員,但如果收到您想要的,您應該這樣做: