GraphQL 使用简单对象而不是在模式上创建特定类型
GraphQL use simple object instead create specific type on schema
我是 graphql 的新手,我想要实现的是简化这个模式:
input UserQueryFilter {
email: String
}
input UserQueryInput {
filter: UserQueryFilter
anotherArgs: String
}
type User {
email: String!
}
Query {
User (input: UserQueryInput) : [User]
}
进入这个:
input UserQueryFilter {
email: String
}
type User {
email: String!
}
Query {
User (input: { filter: UserQueryFilter }, anotherArgs: String ) : [User]
}
但我得到了:
Syntax Error: Expected Name, found "{".","locations":[{"line":183,"column":20}] ...
当涉及到更复杂的应用程序时,在第二个应用程序上编写代码会变得更容易。
有什么办法可以解决吗?
感谢您的帮助!
第二个模式在语法上是错误的。在分号之后,总是需要一个类型。这种类型可以是默认类型,如 String、ID、Int 等,也可以是自定义类型。特别是对于查询参数,它应该是默认类型或输入类型。否则,正如您提到的,buildSchema 方法将在解析整个模式时抛出错误。
我是 graphql 的新手,我想要实现的是简化这个模式:
input UserQueryFilter {
email: String
}
input UserQueryInput {
filter: UserQueryFilter
anotherArgs: String
}
type User {
email: String!
}
Query {
User (input: UserQueryInput) : [User]
}
进入这个:
input UserQueryFilter {
email: String
}
type User {
email: String!
}
Query {
User (input: { filter: UserQueryFilter }, anotherArgs: String ) : [User]
}
但我得到了:
Syntax Error: Expected Name, found "{".","locations":[{"line":183,"column":20}] ...
当涉及到更复杂的应用程序时,在第二个应用程序上编写代码会变得更容易。 有什么办法可以解决吗?
感谢您的帮助!
第二个模式在语法上是错误的。在分号之后,总是需要一个类型。这种类型可以是默认类型,如 String、ID、Int 等,也可以是自定义类型。特别是对于查询参数,它应该是默认类型或输入类型。否则,正如您提到的,buildSchema 方法将在解析整个模式时抛出错误。