Apollo Server:如何在没有指令的情况下对所有“id:ID”字段进行后处理?
Posted
技术标签:
【中文标题】Apollo Server:如何在没有指令的情况下对所有“id:ID”字段进行后处理?【英文标题】:Apollo Server: how to post-process all `id: ID` fields without directives? 【发布时间】:2021-02-03 08:28:51 【问题描述】:我们的架构如下所示:
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 extends SchemaDirectiveVisitor
visitFieldDefinition(...)
...
有没有办法避免在任何地方添加@uniqueID
而只依赖于ID
类型?换句话说,是否可以针对我们的原始模式编写模式访问者?
【问题讨论】:
【参考方案1】:是的,有可能,通过mapSchema
。这里已经回答了:https://github.com/ardatan/graphql-tools/discussions/2126。
【讨论】:
以上是关于Apollo Server:如何在没有指令的情况下对所有“id:ID”字段进行后处理?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 Apollo Server 但使用 express-graphql 的情况下使用 apollo-datasource-rest
如何使用 Apollo Server 2.0 GraphQL 将模式指令中的信息作为返回的数据包含在内?
在 GraphQL Apollo Server v2.0 中公开 HTTP GET API