我正在尝试使用对象向 api 发布请求“
var params = {
"item": "itemx",
"options": [1,2,3],
};
print(params);
try {
Response response = await _dio.post(getAddToCartURL,
queryParameters: params,
options: Options(headers: {
HttpHeaders.contentTypeHeader: "application/json",
}));
} catch (error, stackTrace) {
print("Exception occurred: $error stackTrace: $stackTrace");
return false;
}
Run Code Online (Sandbox Code Playgroud)
Dio 将对象发送为:
POST /api/add-to-cart/?item=itemx&options%5B%5D=1&options%5B%5D=2&options%5B%5D=3
Run Code Online (Sandbox Code Playgroud)
其中 api 将其识别为错误的请求。
我在这里做什么错了?我什至尝试将列表设为 ["1","2","3"],它是一样的。
我有这个数据作为json:
{
"id":1,
"value":"value x",
"option":{
"id":1,
"name":"option d"
},
"attachment":null,
"price":0
},
{
"id":2,
"value":"value y",
"option":{
"id":1,
"name":"option b"
},
"attachment":null,
"price":0
},
Run Code Online (Sandbox Code Playgroud)
我想在将它们与 Option.name 分组后将它们视为 ListView ,因此返回是一个映射为:
Map<String, List<Option>> getGrouped(
List<Option> options) {
Map<String, List<Option>> groupByData = groupBy(
itemVariations, (obj) => (obj as Option).option.name);
return groupByData;
}
Run Code Online (Sandbox Code Playgroud)
我不是如何将其视为嵌套的 Text() 小部件?我尝试了很多东西,而且总是:
The argument type 'List<Option>' can't be assigned to the parameter type 'String'.
Run Code Online (Sandbox Code Playgroud)