【发布时间】:2019-11-22 12:17:08
【问题描述】:
我有一个前端(用户界面)和一个数据库。它们通过 REST API 连接。前端用 Angular 实现,数据库是 MariaDB,API 用 Express 实现。在 API 中定义了我所有的 Get/Post/Put/Delete 方法,并且我能够在数据库中写入和读取。 如果我有数据库中没有明确存在但必须计算而不是数据库数据的数据,我需要做什么?我在哪里实现这个逻辑?我不想将它添加到我的前端或数据库中,因此它显然必须在 API 中(或介于两者之间)。是否有一个共同的标准来处理它? 另外,不得不说,计算出来的数据应该显示在前端,而不一定要存入数据库。
【问题讨论】:
-
您的意思是您想在前端显示 A+B+C,但您的数据库中只有 B 和 C,并且您不想在前端或后端存储 A?那么,A 是从哪里来的呢? ^-^
-
我认为您将 API 与您的 Web 应用程序混淆了。 API 是一个应用程序编程接口,因此它只定义了合约,而不是实现。你想要的是业务逻辑层。我认为研究软件架构的基础知识会很有趣。这通常是完成数据操作的地方,但它也发生在 ui 中的浅层。我不会担心太多。更改 UI 中的单个属性没有问题,但创建整个对象或执行复杂操作通常是业务逻辑的职责。
-
所以我在 express.js 中所做的是连接前端和数据库的业务逻辑层。我可以在那里添加我的计算吗? @Mridul 我想在数据库中存储 A、B 和 C 但不是 A+B+C,应该只显示在前端
-
如果您在后端拥有所有必需的参数,那么它完全取决于您的前端部分是 A+B+C 还是 A-B-C。
标签: javascript node.js angular rest express