Я пользуюсь Apollo Federation в течение 2 месяцев, но на самом деле застрял. Я не знаю, как передать переменную между двумя моими сервисами graphql.
У меня есть сайт (сервис сайта graphql), на котором есть заказы (сервис заказов graphql). У меня есть запрос на поиск веб-сайтов, и для этих сайтов мне нужна статистика заказов за определенный диапазон дат. Здесь typedef (веб-сайт):
type Query {
websites(orderFilter: OrderFilterInput): [Website!]
}
type Website @key(fields: "id") {
id: ID!
name: String!
url: String!
orderSummary(orderFilter: OrderSummaryFilterInput): OrderSummary
}
input OrderSummaryFilterInput {
beginDate: Date
endDate: Date
}
extend type OrderSummary @key(fields: "websiteId") {
websiteId: String! @external
}
Резолвер:
orderSummary: (website, { orderSummaryFilter }) => {
console.log("orderSummaryFilter", orderSummaryFilter); // filters are OK
// HOW CAN I PASS orderFilterSummary to my order graphql service here ????
return { __typename: "OrderSummary", websiteId: website.id };
}
И Закажите сервис graphql
Часть Typedef:
type OrderSummary @key(fields: "websiteId") {
websiteId: String!
count: Int
amount: Int
}
Часть резольвера:
// order gql service
OrderSummary: {
__resolveReference(website, args, info) {
console.log("website id :", website.id); // I ve got my website ID
// HOW TO GET OrderSummaryFilter here ????
},
},
Как я могу получить доступ к переменной сводного фильтра заказа в преобразователе порядка graphql? Спасибо.