Future<int> createProduct(InventoryModel inventoryModel) async {
final formData = FormData.fromMap(await inventoryModel.toJson(true));
final Response response = await _dio.post(
'${AppUrls.baseUrl}${InventoryUrls.createProduct}',
data: formData,
);
if (response.statusCode != 200) {
return Future.error(GeneralError());
}
final Map<String, dynamic> decodedJson = jsonDecode(response.data);
if (!decodedJson['status']) {
return Future.error(GeneralError(message: decodedJson['message']));
}
return decodedJson['product_id'];
}
这是创建单一产品的代码,当我想同时创建产品列表时,工作正常问题出现了。 这是我目前解决这个不起作用的问题的策略。
@override
Future<bool> createInventoryList(List<InventoryModel> inventoryModels) async {
final formData = FormData();
formData.fields.add(MapEntry(
'product_list',
jsonEncode([for (final inventoryModel in inventoryModels) await inventoryModel.toJsonSync(true)]),
));
try {
final response = await _dio.post(
'${AppUrls.baseUrl}${SyncUrls.syncCreateInventory}',
data: formData,
);
print(response.data.toString());
if (response.statusCode != 200) {
return Future.error(GeneralError());
}
final Map<String, dynamic> decodedJson = jsonDecode(response.data);
print(decodedJson);
if (!decodedJson['status']) {
return Future.error(GeneralError(message: "Some Error Occurred"));
}
return true;
} catch (error) {
return Future.error(error);
}
}
请推荐任何解决方案....
这是我目前解决这个不起作用的问题的策略。**
@override
Future<bool> createInventoryList(List<InventoryModel> inventoryModels) async {
final formData = FormData();
formData.fields.add(MapEntry(
'product_list',
jsonEncode([for (final inventoryModel in inventoryModels) await inventoryModel.toJsonSync(true)]),
));
try {
final response = await _dio.post(
'${AppUrls.baseUrl}${SyncUrls.syncCreateInventory}',
data: formData,
);
print(response.data.toString());
if (response.statusCode != 200) {
return Future.error(GeneralError());
}
final Map<String, dynamic> decodedJson = jsonDecode(response.data);
print(decodedJson);
if (!decodedJson['status']) {
return Future.error(GeneralError(message: "Some Error Occurred"));
}
return true;
} catch (error) {
return Future.error(error);
}
}