【问题标题】:Wrapping REST API with GraphQL / just using GraphQL使用 GraphQL 封装 REST API / 仅使用 GraphQL
【发布时间】:2020-01-21 19:51:28
【问题描述】:

我正在开展一个项目,我将把 GraphQL 集成到后端 Express 服务器。目前,服务器的结构很像MVC模式结构。

控制器文件夹

  • 从 MySQL 数据库中查询数据并将其返回的函数。
  • 例如:文件名为Car.js,其中有getAllCars()getCar(id)等函数

路由器文件夹

  • 调用控制器中的函数并将其返回给调用者的端点
  • 例如:端点 GET /cars 将调用 getAllCars() 并返回它

我想在此之上包装 GraphQL,并想知道最好的方法是什么。据我所知,每个 GraphQL 类型都有字段和解析器,而解析器是获取数据的那个(如果我错了,请纠正我)。

所以我想我的问题是......

  1. 如果我想在此上包装 GraphQL,在解析器中,我是否调用将获取数据的端点?
  2. 如果我有一个控制器文件夹已经在处理数据库中的数据访问/修改,我可以简单地调用解析器中的控制器函数,而不必“需要任何端点”吗?

我希望这是有道理的,我对 GraphQL 还是很陌生,很高兴能使用它。

谢谢!

【问题讨论】:

    标签: rest api express graphql backend


    【解决方案1】:

    请在下面找到我的答案

    如果我想在此上包装 GraphQL,在解析器中,我是否调用将获取数据的端点?

    应始终从单个端点提供 GraphQL。更改的是查询,但终点始终相同。

    如果我有一个控制器文件夹,它已经在处理数据库中的数据访问/修改,我可以简单地调用解析器中的控制器函数,而不一定“需要任何端点”吗?

    这是有争议的。始终将控制器外部的数据访问/修改处理分离出来是一个很好的做法,就像在服务层中一样。

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 2018-03-19
      • 2020-07-04
      • 2021-04-25
      • 2019-12-07
      • 2019-10-12
      • 2018-02-08
      • 2022-11-30
      • 2019-11-06
      相关资源
      最近更新 更多