使用输入对象的graphql突变

Posted

技术标签:

【中文标题】使用输入对象的graphql突变【英文标题】:graphql mutation using input object 【发布时间】:2019-03-09 11:43:45 【问题描述】:

我正在使用适用于 android 的 graphql apollo 客户端。我可以使用突变为单个字段传递数据,而不会出现任何问题。在突变中使用输入对象时,发生错误无法读取电子邮件未定义的属性。但是在浏览器中运行时相同的 graphql 工作。

Graphql 突变

mutation signup($SignupInput:SignupInput) 
    signup(data: $SignupInput) 
        resulttoken,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);

【问题讨论】:

这是 Java 错误吗?你能分享完整的堆栈跟踪吗? 你得到答案了吗? 我将 $SignupInput 更改为 $signupInput,在 android 或 java 用户应该使用 CamelCase。这是突变中的一个问题 【参考方案1】:
mutation signup($SignupInput:SignupInput)

    signup(data: $SignupInput) 
        resulttoken,firstName,lastName,profileImage
   

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

【讨论】:

以上是关于使用输入对象的graphql突变的主要内容,如果未能解决你的问题,请参考以下文章

Apollo GraphQL 突变(对象参数)

GraphQL .NET 上部分更新突变的空字段

来自角度对象的Graphql输入对象

如何使用 Django 嵌套对象添加 GraphQL 突变?

React GraphQL 突变返回无效输入

具有外键关系的对象的石墨烯中的 GraphQL 突变