转换 apollo-datasource-rest 响应结构以适应已经定义的远程模式

Transform apollo-datasource-rest response structure to adapt to the already defined remote schema

我们已经有了远程架构。我们通过使用 apollo-datasource-rest 点击 REST APIs 来获得 Apollo 数据源响应。 json 响应的格式与架构不匹配。任务是根据用户查询转换 json 响应以匹配模式和 return 结果。如何实现?

例如 REST API 响应:

{
    "members": {
        "name": "john",
        "street_address": "10 Barley St."
    }
}

我们的远程 graphql 架构:

type Users {
    username: String!
    street: String!
}

非常感谢任何想法或帮助或源代码。 再次感谢。

您可以将 REST API 响应的字段转换为 GraphQL resolver 中的 GraphQL 模式。或者,将这些转换操作委托给模型层。这是一个通用的方法。

如果您认为手动转换解析器或模型层中的字段过于冗长。

您可以使用 type-graphql 等库来执行此操作。它结合了模型层和 GraphQL 模式层。它将模型的字段映射到 GraphQL 架构字段。