我正在创建Flutter应用程序并重用appolographql服务器。 问题是当我在Flutter中进行突变时,解析器功能未触发。
使用运动场时触发解析器,但不触发颤动。
这是Flutter代码:
Mutation(
options: MutationOptions(
document: r"""
mutation createOrUpdateHorse($horse:HorseInput,$entityid:ID) {
createOrUpdateHorse(horse:$horse,entityid:$entityid) {
id
name
status
rating
}
}
""",
// variables: {
// "horse": {"id": 1, "status": "bu"},
// "entityid": 1
// },
),
builder: (
RunMutation runMutation,
QueryResult result,
) {
return IconButton(
icon: Icon(Icons.cloud_upload),
onPressed: () => runMutation({
"horse": {"id": 1, "status": "bu"},
"entityid": 1
}),
);
},
onCompleted: (resultData) {
print(resultData);
},
),
这是服务器在出现抖动突变时收到的请求正文
{ operationName: 'createOrUpdateHorse',
variables: { entityid: 1, horse: { id: 1, status: 'bu' } },
query:
'mutation createOrUpdateHorse($horse:HorseInput,$entityid:ID) {\n createOrUpdateHorse(horse:$horse,entityid:$entityid) {\n
id\n
status\n
}\n
}\n
' }
这是服务器在发生操场变化时收到的请求正文
{operationName:null,
variables:{},
query:
mutation {\n
createOrUpdateHorse(horse: {id: 1, status: \"alo\"}, entityid: 5)
{\n
id\n
status\n
}\n
}\n
}
答案 0 :(得分:0)
您正在使用哪个版本的graphql_flutter? 在版本^ 1.0.1中-突变看起来如下:
r'''
mutation createOrUpdateHorse(
$horse: HorseInput,
$entityid: ID
){
action: createOrUpdateHorse(
input: {
horse: $horse,
entityid: $entityid
}){
id
name
status
rating
}
}
'''
答案 1 :(得分:0)
我的错,那是一个愚蠢的错误,我忘记了“!”用于HorseInput!。