【问题标题】:GraphQL-js mutation optional argumentsGraphQL-js 变异可选参数
【发布时间】:2017-12-03 03:26:52
【问题描述】:

如何在 nodeJS 中实现具有可选参数的 GraphQL Mutation?

我当前的突变有一个 args 字段,但所有参数都是强制性的。由于我在文档中找不到任何内容,因此我不知道如何或是否可能。

这是我当前的代码:

const fakeDB = {
    count: 0
};

const schema = new GraphQLSchema({
    query: //...
    mutation: new GraphQLObjectType({
        name: 'adsF',
        fields: {
            updateCount: {
                type: GraphQLInt,
                args: {
                    count: { type: GraphQLInt } // I want to make this argument optional
                },
                resolve: (value, { count }) => {
                    // Catch if count is null or undefined
                    if (count == null) {
                        // If so just update with default
                        fakeDB.count = 5;
                    } else {
                        fakeDB.count = count
                    }
                    return fakeDB.count;
                })
            }
        }
    })
});

感谢您的帮助!

【问题讨论】:

    标签: javascript node.js graphql-js


    【解决方案1】:

    GraphQL 中的类型默认可以为空。这意味着您目前指定突变的方式使计数成为可选的。如果您希望某个字段为必填字段,则需要将其标记为 non null

    【讨论】:

      猜你喜欢
      • 2021-02-02
      • 1970-01-01
      • 2019-01-02
      • 2020-01-02
      • 2017-05-08
      • 2017-03-18
      • 2021-07-22
      • 2015-12-15
      • 2019-01-23
      相关资源
      最近更新 更多