Федерация Apollo: как присоединиться к ответам GraphQL
У меня есть службы GraphQL как слой поверх существующих служб REST с конечными точками POST.
Две службы graphQL, которые внутренне вызывают конечные точки REST:
- Пользовательское обслуживание и
- Почтовая служба
Запрос на UserService
{
userid : "13242"
}
Ответ от UserService
{
userName,
email,
dateOfBirth,
postIds []
}
Запрос на PostService
{
postId: "13242", // this is from UserService Response
memberInfo: { // this will come from client
memberid : "34343",
memberGroup : "mg-8798",
memberLocation : "LOc-87"
},
groupInfo: { // this will come from client
GroupId : "87980"
GroupInfo : "some group Info"
}
}
Почтовой службе требуются PostIds из UserService Response, а также memberInfo и GroupInfo из ввода шлюза (ввод от клиента).
В моем текущем преобразователе у меня нет никакой информации, кроме postId
{
user: {
posts(user) {
return user.posts.map(postId => ({ __typename: "Post", postId }));
}
}
}
Как мне написать преобразователь, в котором два ответа должны быть связаны с помощью postId и требуются дополнительные данные из ввода клиента?
ИЛИ - Как получить доступ к данным из запроса ввода через объединенные службы через преобразователь