graphql-java:对象定义可以是GraphQLObjectType& GraphQLInputObjectType

时间:2017-02-16 07:12:01

标签: graphql graphql-java

我正在使用graphql-java。我有自定义对象,例如:MyObject(有一些字段......)。

请求是我想在另一个变异对象中将其用作参数。而且我不想定义两次GraphQLObjectType& GraphQLInputObjectType)。

可以这样做,怎么做?感谢

  • GraphQLObjectType

    public GraphQLObjectType myObjectType() {
        return newObject()
                .name("MyObj")
                .description("My object")
    
                .field(newFieldDefinition()
                        .name("field1")
                        .description("field 1")
                        .type(GraphQLString))
                // ...
                .build();
    }
    
  • GraphQLInputObjectType

    public GraphQLInputObjectType myInputObjectType() {
        return newInputObject()
            .name("MyInputObj")
            .description("My input object")
    
            .field(newInputObjectField()
                    .name("field1")
                    .description("field 1")
                    .type(GraphQLString))
            // ...
            .build();
        }
    

1 个答案:

答案 0 :(得分:1)

不,它们是完全不同的东西,你通常会发现你的输入类型与等效的对象类型不同。我会依赖其他模式进行代码重用。