如何解决Flutter HTTP发布请求发送对象列表
我已经从服务器成功获得200响应代码,但是我的API返回的响应代码为0。当我尝试在邮递员中发送请求时,它的响应为1。也许我的JSON中确实缺少某些内容来发送身体。我是新手,我想发送一个HTTP后请求,其中包含如下所示的对象列表:非常感谢您的帮助。
[
{
"product_id": 14,"quantity": 3,"payment": "COD"
},{
"product_id": 3,"quantity": 2,"payment": "COD"
}
]
这是我的HTTP发布功能:
Future<dynamic> checkItem({Map headers,body,encoding}) async {
Map<String,String> headers = {
'Accept': 'application/json','Content-Type': 'application/json','Authorization': 'Bearer $token'
};
try {
final response = await http.post(
'${_url}transactions/check',headers: headers,body: body,encoding: Encoding.getByName("utf-8"));
if (response.statusCode == 200) {
String data = response.body;
return jsonDecode(data);
} else {
print(response.statusCode);
}
} catch (error) {
print(error);
}
}
这就是我调用传递JSON的函数的方式:
List<String> chckList = checkoutList.map((e) => json.encode(e.toJson())).toList();
String strBody = json.encode(chckList);
final res = await interface.checkOutItem(body: strBody);
这是我在Model对象中的toJson:
Map<String,dynamic> toJson() {
final Map<String,dynamic> data = new Map<String,dynamic>();
data['product_id'] = this.product_id;
data['quantity'] = this.quantity;
data['payment'] = this.payment;
return data;
}
解决方法
您的代码中的请求似乎都已就位。问题可能在于您使用的 API 无法处理您发送的有效负载。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。