Проблема
Я новичок в флаттере и прямо сейчас создаю приложение для доставки.
Клиент добавляет товары в свою корзину, теперь я хочу отправить эту таблицу продуктов, выбранных клиентом, на сервер для оформления заказа, и у меня есть ошибка:
_TypeError (type 'List<dynamic>' is not a subtype of type 'String' in type cast
Это мой класс CartItem
class CartItem {
String id, name, count, price, image;
CartItem(this.id, this.name, this.count, this.price, this.image);
}
Здесь я добавляю товар в корзину
List cart = [];
addItemCart(Food item) {
adjustPrice(item.price, true);
for (int i = 0; i < cart.length; i++) {
if (cart[i].name == item.name) {
setState(() {
cart[i].count = (int.parse(cart[i].count) + 1).toString();
adjustScroll(i);
});
return;
}
}
setState(() {
cart.add(new CartItem(item.id, item.name, '1', item.price.toString(), item.image));
adjustScroll(cart.length - 1);
});
}
На этом уровне я получаю сообщение об ошибке при отправке на сервер
payOnDelivery(
adresseId,
items,
price,
deliveryFee,
tvaFee,
finalPrice,
paymentMode,
devise,
) async {
SharedPreferences sharedPreference = await SharedPreferences.getInstance();
var token = sharedPreference.getString('token');
var header = {'Authorization': 'Bearer $token'};
Map data = {
'adresseId': adresseId,
'items': items,
'price': price.toString(),
'deliveryFee': deliveryFee.toString(),
'tvaFee': tvaFee.toString(),
'finalPrice': finalPrice.toString(),
'paymentMode': paymentMode,
'devise': devise
};
var jsonResponse;
var response = await http.post(url + 'order/add/', body: data, headers: header);
if (response.statusCode == 201) {
jsonResponse = json.decode(response.body);
setState(() {
_isLoading = false;
isLogged = true;
cart = [];
});
} else {
jsonResponse = json.decode(response.body);
setState(() {
_isLoading = false;
});
}
}
Список, который я хочу отправить на сервер (на картинке)