graphql-java: 对象定义可以同时是 GraphQLObjectType 和 GraphQLInputObjectType
graphql-java: Can an object definition be both a GraphQLObjectType & GraphQLInputObjectType
我正在使用 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();
}
不,它们是完全不同的东西,而且您通常会发现您的输入类型无论如何都与等效的对象类型不同。我会依赖 code-reuse 的其他模式。
我正在使用 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(); }
不,它们是完全不同的东西,而且您通常会发现您的输入类型无论如何都与等效的对象类型不同。我会依赖 code-reuse 的其他模式。