使用输入对象的graphql突变

时间:2018-10-04 06:49:53

标签: android graphql apollo apollo-client graphql-java

我正在使用针对Android的graphql apollo客户端。我能够使用单个字段的突变传递数据而没有任何问题。使用输入对象进行突变时,发生错误无法读取未定义电子邮件的属性。但是,相同的graphql在浏览器中运行时也可以正常工作。

Graphql突变

mutation signup($SignupInput:SignupInput) {
    signup(data: $SignupInput) {
        result{token,firstName,lastName,profileImage}
   }
}

输入

    {"SignupInput": {"firstName": "John","lastName": "Peter","email": "john@gmail.com"
,"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);

1 个答案:

答案 0 :(得分:1)

mutation signup($SignupInput:SignupInput)
{
    signup(data: $SignupInput) {
        result{token,firstName,lastName,profileImage}
   }
}

我将 $ SignupInput更改为$ signupInput ,在android或java中,用户应使用 CamelCase 。这是突变中的问题