Apollo Server:如何 post-process all `id: ID` fields without directives?
Apollo Server: how to post-process all `id: ID` fields without directives?
我们的架构如下所示:
type Product {
id: ID!
name: String!
}
type User {
id: ID!
firstName: String!
}
后端 returns 自动递增 ID,我们希望按类型为它们添加前缀,目前,我们正在为此使用指令:
type Product {
id: ID! @uniqueID
name: String!
}
type User {
id: ID! @uniqueID
firstName: String!
}
class UniqueIdDirective extends SchemaDirectiveVisitor {
visitFieldDefinition(...) {
...
}
}
有没有办法避免在任何地方添加 @uniqueID
而只依赖于 ID
类型?换句话说,是否可以针对我们的原始模式编写模式访问者?
可以,通过 mapSchema
。这里已经回答了:https://github.com/ardatan/graphql-tools/discussions/2126.
我们的架构如下所示:
type Product {
id: ID!
name: String!
}
type User {
id: ID!
firstName: String!
}
后端 returns 自动递增 ID,我们希望按类型为它们添加前缀,目前,我们正在为此使用指令:
type Product {
id: ID! @uniqueID
name: String!
}
type User {
id: ID! @uniqueID
firstName: String!
}
class UniqueIdDirective extends SchemaDirectiveVisitor {
visitFieldDefinition(...) {
...
}
}
有没有办法避免在任何地方添加 @uniqueID
而只依赖于 ID
类型?换句话说,是否可以针对我们的原始模式编写模式访问者?
可以,通过 mapSchema
。这里已经回答了:https://github.com/ardatan/graphql-tools/discussions/2126.