我正在使用适用于 Android 的 graphql apollo 客户端。我可以使用单个字段的突变来传递数据,没有任何问题。在突变中使用输入对象时,发生错误无法读取电子邮件未定义的属性。但相同的 graphql 在浏览器中运行时工作。
Graphql 突变
mutation signup($SignupInput:SignupInput) {
signup(data: $SignupInput) {
result{token,firstName,lastName,profileImage}
}
}
输入
{"SignupInput": {"firstName": "John","lastName": "Peter","email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0e646166604e69636f6762206d6163" rel="noreferrer noopener nofollow">[email protected]</a>"
,"password": "123123"}}
API调用的Java代码
final SignupInput signupInput=SignupInput.builder()
.firstName(edtSignUpName.getText().toString())
.lastName(edtSignUpLastName.getText().toString())
.email(actvSignUpEmail.getText().toString())
.password(edtSignUpPassword.getText().toString())
.profileImage("dasfasdfasdf.png").build();
final SignupMutation signupMutation = SignupMutation.builder()
.signupInput(signupInput)
.build();
signupCall = appController.apolloClient()
.mutate(signupMutation);
signupCall.enqueue(dataCallback);
最佳答案
mutation signup($SignupInput:SignupInput)
{
signup(data: $SignupInput) {
result{token,firstName,lastName,profileImage}
}
}
我将$SignupInput更改为$signupInput,在android或java中用户应该使用CamelCase。这是突变的问题
关于android - 使用输入对象的 graphql 突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52640670/