项目描述
翻译工作的主要部分是模式设计和解析器。我们期望有一个结构良好的类型系统,具有清晰的名称和调用底层 REST 端点的解析器,拼接相关实体,并在没有经典 N+1 爆炸的情况下解析跨服务链接——也就是说,每个查询的批处理和数据加载器模式是强制性的。在此基础上,我们需要响应缓存,具有适当的失效和授权:传递调用者的令牌,在网关处检查,并在字段和类型级别应用访问规则。请优雅地处理部分失败,以便一个缓慢的后端不会导致整个请求失败。
为了避免混淆:这不是一个模拟 API 服务器或 Webhook 网关——我们需要一个生产级的 GraphQL 聚合层,覆盖实时 REST API。结果应该是可部署的、文档化的,并且有测试覆盖。写下您首选的技术栈(Node 与 Apollo、联邦路由器或其他方法)及其原因。估计——三周,对于强大的工程师,时间表是可以协商的。
— 统一的 GraphQL 模式覆盖 4+ 个 REST 服务
— 带拼接、联邦和数据加载器的解析器
— 响应缓存和失效策略
— 令牌传递和字段及类型级别的授权
— 测试、文档和本地 docker-compose 以便运行