[英]Error while sending List data to cloud firestore using REST api in flutter
I'm not able to send List of string to cloud firestore using REST api in flutter.我无法使用 flutter 中的 REST api 将字符串列表发送到云 Firestore。
//###### here is my code ##########
Future<bool> addVisit(Visit visit) async { //function
try {
var response = await http.post( //post method to send data
"${VISIT_API}",
headers:
{"Authorization": "Bearer ${Utils.loginToken}"},
Working fine upto "Facility", but getting error while inserting "Facility: as all others are String values and Facility is of type List在“设施”之前工作正常,但在插入“设施”时出错:因为所有其他都是字符串值,设施是列表类型
body: json.encode(
{
"fields": {
"status": {"stringValue": visit.status},
"id": {"stringValue": visit.id},
"name": {"stringValue": visit.name},
"dateTime": {"integerValue": visit.dateTime},
"mob": {"integerValue": visit.mob},
"idproof": {"integerValue": visit.idproof},
"address": {"stringValue": visit.address},
"purpose ": {"stringValue": visit.purpose},
"facility": {"arrayValue": visit.facility} //error line
}
},
),
);
print("reach");
if (response.statusCode == 200) { // successful
print("visit added");
return true;
} else {
print(response.body);
}
} catch (err) {
throw err;
}
}
I do the post-request like我做事后请求
String VISIT_API =
"https://firestore.googleapis.com/v1/projects/<database-id>/databases/(default)/documents/visits";
Error message is here错误信息在这里
//###### Error Message #########
I/flutter (26972): { //console output
I/flutter (26972): "error": {
I/flutter (26972): "code": 400,
I/flutter (26972): "message": "Invalid JSON payload received. Unknown name \"arrayValue\" at
'document.fields[8].value': Proto field is not repeating, cannot start list.",
I/flutter (26972): "status": "INVALID_ARGUMENT",
I/flutter (26972): "details": [
I/flutter (26972): {
I/flutter (26972): "@type": "type.googleapis.com/google.rpc.BadRequest",
I/flutter (26972): "fieldViolations": [
I/flutter (26972): {
I/flutter (26972): "field": "document.fields[8].value",
I/flutter (26972): "description": "Invalid JSON payload received. Unknown name
\"arrayValue\" at 'document.fields[8].value': Proto field is not repeating, cannot start list."
I/flutter (26972): }
I/flutter (26972): ]
I/flutter (26972): }
I/flutter (26972): ]
I/flutter (26972): }
I/flutter (26972): }
//#################################
//visit.facility contains :
//["lunch" , "dinner"]
Try writing your facility
array value like this:尝试像这样编写您的
facility
数组值:
"facility": {
"arrayValue": {
"values": [
{
"stringValue": "lunch"
},
{
"stringValue": "dinner"
}
]
}
}
The "values"
part comes from the references forValue and arrayValue . "values"
部分来自对Value和arrayValue的引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.