#graphql #apollo-server #graphql-tools
#graphql #apollo-сервер #graphql-инструменты
Вопрос:
Наша схема выглядит следующим образом:
type Product {
id: ID!
name: String!
}
type User {
id: ID!
firstName: String!
}
Серверная часть возвращает идентификаторы с автоматическим увеличением, мы хотим указать им префикс по типу, и в настоящее время мы используем для этого директивы:
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 .