web - 我们需要在服务层的什么地方包含非业务逻辑验证

标签 web asp.net-web-api2 business-logic business-rules

目前 um 在一个应用程序中工作,它具有以下层次结构

WEB API2 Controller (隐藏端点)

业务逻辑层(专用于业务逻辑处理)

数据访问层(存储库)

如果我们想要实现与业务逻辑无关的验证,例如实体中特定字段的字符数验证,那么实现它的理想位置是什么?

有人说它应该自己在 Controller 上,但我不同意。

最佳答案

使用分层架构时不能教条。您可以测量任何功能的一些抽象。这种措施很灵活。

在您的具体示例中,您正在查看验证实体的字符串大小。现在,名称实体将它放在数据层附近,这就是我要放置它的地方。因此,如果有人试图放置长度错误的实体,您的数据层可能会引发访问冲突。

关于web - 我们需要在服务层的什么地方包含非业务逻辑验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38429335/

相关文章:

web - OSGi 和芝麻与 OWLIM

javascript - 动态生成的 td 标签未显示在页面中

javascript - 带有 auth header 的 Office App Ajax,连接到启用了 cors 的安全 Web api 2 后端

c# - 当单个对象属性是字符串时,如何防止将其转换为 DateTime

c# - 当 BodyStyle = WebMessageBodyStyle.Wrapped 时从 C# 调用 Rest WCF 服务操作

javascript - 这行Js代码到底是做什么的呢?

dependency-injection - 在 Asp.net Web Api2 中使用 Microsoft.Extension.DependencyInjection

java - 在业务层返回业务验证结果的首选方法是什么

domain-driven-design - 处理贫血域模型的技术

model-view-controller - 业务逻辑是存在于模型中还是存在于 Controller 中?