【问题标题】:where to put the formatting logic in MVC rest apiMVC rest api中的格式化逻辑放在哪里
【发布时间】:2021-03-16 17:36:48
【问题描述】:

我想知道将数据格式化逻辑放在节点/express rest api 应用程序中的“最佳实践”在哪里。我通常知道,它应该放在视图中,但是在节点休息 api 中几乎没有视图,你只需在控制器中发送 json 就可以了

res.json({somedata})

我有一些数据库查询给了我原始数据,但是在与关系的查询之后我需要格式化它并给出响应,我应该在从模型中获取数据后在控制器中格式化它还是应该格式化它建模并在控制器中发送响应?

【问题讨论】:

    标签: node.js express model-view-controller


    【解决方案1】:

    我会创建一个服务来执行您的数据需要的任何修改并在控制器函数中调用它,示例结构可能类似于

    ├───models
    │   ├───user.model.js
    ├───routes
    │   ├───user.route.js
    ├───services
    │   ├───user.service.js
    ├───controllers
    │   ├───user.controller.js
    

    您可以在此处阅读更多信息:https://sodocumentation.net/node-js/topic/10785/route-controller-service-structure-for-expressjs

    【讨论】:

    • 任何大小的真实应用程序都不会使用这种结构,它取自糟糕的 express 默认值,将所有需要的东西放在 ./module/user/ 中并在每个模块中使用 package.json 来加载它们, vs 将所有代码分散在多个目录中以增加耦合