GraphQL-js变异可选参数

时间:2017-06-29 12:18:31

标签: javascript node.js graphql-js

如何在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;
                })
            }
        }
    })
});

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

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