Graphql Apollo服务器:如何在没有指令的情况下对所有`id:id`字段进行后期处理?

Graphql Apollo服务器:如何在没有指令的情况下对所有`id:id`字段进行后期处理?,graphql,apollo-server,graphql-tools,Graphql,Apollo Server,Graphql Tools,我们的模式如下所示: type Product { id: ID! name: String! } type User { id: ID! firstName: String! } 后端返回自动增量ID,我们希望按类型为它们添加前缀,目前,我们正在使用指令: type Product { id: ID! @uniqueID name: String! } type User { id: ID! @uniqueID firstName: String! }

我们的模式如下所示:

type Product {
  id: ID!
  name: String!
}

type User {
  id: ID!
  firstName: String!
}
后端返回自动增量ID,我们希望按类型为它们添加前缀,目前,我们正在使用指令:

type Product {
  id: ID! @uniqueID
  name: String!
}

type User {
  id: ID! @uniqueID
  firstName: String!
}
class UniqueIdDirective扩展了SchemaDirectiveVisitor{
visitFieldDefinition(…){
...
}
}

有没有办法避免在任何地方添加
@uniqueID
,而只依赖
ID
类型?换句话说,是否可以根据原始模式编写模式访问者?

是的,可以通过
mapSchema
。这里已经回答了: