Graphql 在查询中添加非';t型
我正在做一个小的个人项目,它从RESTAPI导出数据并通过Graphql公开它们 我得到了我的类型:Graphql 在查询中添加非';t型,graphql,graphql-js,Graphql,Graphql Js,我正在做一个小的个人项目,它从RESTAPI导出数据并通过Graphql公开它们 我得到了我的类型: type Team{ id: ID, name: String, code: String } 查询的配置如下: type Query { teams(id: ID, name: String, code: Int): [Team] } Query: { teams: (_, filters) => footballService.getTeams(fi
type Team{
id: ID,
name: String,
code: String
}
查询的配置如下:
type Query {
teams(id: ID, name: String, code: Int): [Team]
}
Query: {
teams: (_, filters) => footballService.getTeams(filters),
}
筛选器包含调用期间传递的所有参数,如teams(id:100)
我的问题是,如果想要API中的团队列表,我需要传递竞赛ID。那么有没有一种方法可以调用
团队(ID:100,competitionId:200)
在“我的团队类型”中不添加竞争ID,为团队查询定义的参数不必与团队类型属性相同。这是可能的:
type Team {
id: ID,
name: String,
code: String
}
type Query {
teams(id: ID, name: String, code: Int, competitionId: Int): [Team]
}
Query: {
teams: (_, filters) => footballService.getTeams(filters),
}
通常情况下,分页时会有类似的内容,例如,这些字段不属于模型类型:
type Query {
teams(
filter: String
skip: Int
first: Int
orderBy: String
): [User!]!
但是,您需要确保您的解析器(例如GetTeam)正确处理这些参数。您为团队查询定义的参数不必与团队类型属性相同。这是可能的:
type Team {
id: ID,
name: String,
code: String
}
type Query {
teams(id: ID, name: String, code: Int, competitionId: Int): [Team]
}
Query: {
teams: (_, filters) => footballService.getTeams(filters),
}
通常情况下,分页时会有类似的内容,例如,这些字段不属于模型类型:
type Query {
teams(
filter: String
skip: Int
first: Int
orderBy: String
): [User!]!
但是,您需要确保您的解析器(例如getTeams)正确处理这些参数。这里不完全清楚您在问什么。您可以向
teams
字段添加所需的任何参数。您有名为id
、name
和code
的参数,而另一种类型有同名字段,这一事实与此无关。@DanielRearden是的,我很难解释。我想传递一个不在类型上的参数。就像我在示例中所说的,我想打一个电话,比如teams(id:100,competitionId:200)
,但不添加任何类型的competitionId
,你能解释为什么吗?你说的是数据库模式还是实际的graphql模式?@real我说的是graphql模式,比如它从api获取数据,api模型与我的不同。要从api中获取团队列表,我需要通过竞赛id,所以基本上我想通过竞赛id,但为什么不添加竞赛id呢?属性可以是可选的,如果不需要,您可以不提供它。例如,团队(id:id,name:String,code:Int,competitionId:Int):[团队]这里不完全清楚你在问什么。您可以向teams
字段添加所需的任何参数。您有名为id
、name
和code
的参数,而另一种类型有同名字段,这一事实与此无关。@DanielRearden是的,我很难解释。我想传递一个不在类型上的参数。就像我在示例中所说的,我想打一个电话,比如teams(id:100,competitionId:200)
,但不添加任何类型的competitionId
,你能解释为什么吗?你说的是数据库模式还是实际的graphql模式?@real我说的是graphql模式,比如它从api获取数据,api模型与我的不同。要从api中获取团队列表,我需要通过竞赛id,所以基本上我想通过竞赛id,但为什么不添加竞赛id呢?属性可以是可选的,如果不需要,您可以不提供它。例如团队(id:id,名称:字符串,代码:Int,competitionId:Int):[团队]