请求数据和DTO之间如何进行转换以及如何实现服务?

时间:2019-06-12 03:02:17

标签: node.js http web-applications dao dto

我正在使用Node.js和Express编码后端。 我经过大量研究并了解了

  • 路线
  • 控制器
  • DTO的
  • 服务
  • DAO的
  • 模型(域/业务/数据库模型)

这是我目前的总体理解。 enter image description here

如果我目前已经了解,我所缺少的是红色部分 “将请求数据转换为DTO”。

我假设是通过简单地将请求对象主体传递给DTO构造函数来完成的。如果是这样

  1. 如何从控制器类传递查询参数和路径参数(从路由中间件接收请求)。

  2. 此外,我还有很多DTO(假设每个端点2个,例如:CreateUserRequest,UserResponse)。我需要将每个DTO与相关服务紧密结合吗?

  3. 我是否需要对DTO进行分组并由单个服务处理? 将是一项DTO的一项服务?

  4. 不同的API版本的服务是否有所不同?简单来说,服务的版本是否像控制器一样?

  5. 如果DTO引用了来自多个Domain模型的数据,那么在哪里以及如何处理呢?例如:GET / products返回带有一些已登录用户特定信息的产品列表,例如用户是否将其标记到其愿望清单中。为了获取此DTO数据,我们可能需要引用两个表/集合。

  6. 有人可以使用所有概念指出良好的实现吗?

PS:该项目规模很大,我需要具有松散耦合的体系结构。另外,我的大部分代码都是从Swagger Codegen(在客户端和服务器上)生成的。因此,我正在寻找一种灵活的工作流程。

0 个答案:

没有答案