在查询中添加非类型的数据
Add data in query which isn't in type
我正在做一个个人小项目,它从 Rest API 导出数据并通过 Graphql 公开它们。
我得到了我的类型:
type Team{
id: ID,
name: String,
code: String
}
查询配置如下:
type Query {
teams(id: ID, name: String, code: Int): [Team]
}
Query: {
teams: (_, filters) => footballService.getTeams(filters),
}
filters 包含调用期间传递的所有参数,如 teams(id: 100)
我的问题是,如果想要 API 中的团队列表,我需要传递比赛 ID。那么有没有办法在我的团队类型
中不添加 competitionID
而像 teams(id: 100, competitionId:200)
这样的调用
您为团队查询定义的参数不必与您的团队类型属性相同。这是可能的:
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)正确处理这些参数。
我正在做一个个人小项目,它从 Rest API 导出数据并通过 Graphql 公开它们。
我得到了我的类型:
type Team{
id: ID,
name: String,
code: String
}
查询配置如下:
type Query {
teams(id: ID, name: String, code: Int): [Team]
}
Query: {
teams: (_, filters) => footballService.getTeams(filters),
}
filters 包含调用期间传递的所有参数,如 teams(id: 100)
我的问题是,如果想要 API 中的团队列表,我需要传递比赛 ID。那么有没有办法在我的团队类型
中不添加competitionID
而像 teams(id: 100, competitionId:200)
这样的调用
您为团队查询定义的参数不必与您的团队类型属性相同。这是可能的:
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)正确处理这些参数。