【发布时间】:2020-01-17 15:34:39
【问题描述】:
我知道之前有人问过 couple 或 times,但我没有找到明确的解决方案来确定是否可以使用 GraphQL。而且我有一种强烈的感觉,这应该是可能的,因为 GraphQL 查询在 Apollo 中按顺序运行,因此它应该相对容易实现。
我有一种情况,我首先在客户端上执行 GraphQL 突变,然后在执行使用上一个查询结果的查询之后立即执行。这会导致等待服务器响应两个请求的不必要的长响应时间。请求如下所示:
mutation createWebSession($authId: ID!) {
webSession: createWebSession(authId: $authId) {
token
userId
}
}
query listUserPaymentMethods($userId: ID!) {
userPaymentMethods: paymentMethods(userId: $userId) {
id
}
}
我知道避免两次往返服务器的一种简单的创可贴解决方案是创建一个新的单一 GraphQL 突变端点,该端点在后端执行两项服务。但这似乎违背了编写模块化、可重用的 GraphQL 端点的目的。因此,我很好奇是否有人知道 Apollo GraphQL 是否支持更简洁的方式来链接 2 个请求,其中前一个请求的结果可作为输入提供给下一个请求。
任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: graphql apollo apollo-client apollo-server