3

我现在正在为基于 Node.js 的新项目开发中间件层。它需要从“纯后端 API(RESTful API)”和一些数据库(MongoDB、MySQL 等)中检索数据,然后将这些数据与一些条件过滤器混合,并作为新的 API 公开给所有客户端。

此时,我只是将这些数据获取器包装为 Promises 并过滤我需要的数据。但我想知道是否有任何优雅的解决方案可以满足这些要求。

以下是一些候选方法:

  • LoopBack:LoopBack 框架可以定义多个数据源之外的模型。但是,LoopBack 似乎只支持“模型级别”的多数据源,不支持“字段级别”的数据源,这意味着我们无法定义一个特定的模型,其中一些字段来自数据库,另一些来自 RESTful API。

  • GraphQL:我是 GraphQL 的新手,但似乎 GraphQL 可以为 RESTful API 和数据库提供一些连接器。

任何其他包或库表示赞赏!谢谢大家!

4

1 回答 1

1

这是 GraphQL 的一个很好的用例。

不过,在详细介绍之前,请注意,GraphQL 最好与某种 GraphQL 客户端一起使用,尤其是在您使用 React 时的 Relay。如果您还没有 GraphQL 客户端,您仍然可以使用 GraphQL(毕竟它是简单的 HTTP GET/POST),但是与纯 REST 相比,您构建的查询需要更大一些——但是,您将获得更好的灵活性作为回报!

GraphQL 相当复杂,这里有一些指针:

GraphQL 绝对是一项重大投资,请确保您有时间研究它。它还很新,所以你不会找到太多推荐的做法。

于 2015-12-09T17:21:40.707 回答