假设我有用户实体。我想检查数据库中是否存在用户 ID。我知道如何检查,但在哪一层?什么是最好的和更容易理解的层?
在我看来,应该是Controller层。但我不认为它会一帆风顺。我从未见过在示例项目中签入用户控制器类的额外方法。也许我错过了一些东西,你怎么看?
假设我有用户实体。我想检查数据库中是否存在用户 ID。我知道如何检查,但在哪一层?什么是最好的和更容易理解的层?
在我看来,应该是Controller层。但我不认为它会一帆风顺。我从未见过在示例项目中签入用户控制器类的额外方法。也许我错过了一些东西,你怎么看?
它应该在模型端。控制器应该只控制从模型到视图的流程。
一旦您从存储库中获取数据,它应该是您的服务,它应该检查您是否获得了数据并做出相应的反应。
在我看来,这取决于您希望对结果做什么。例如,如果您只想检查用户是否存在,那么我会在 DAO 上放置一个方法。
但是,如果您要说我有一个用户,那么现在我要做点什么。我建议只加载用户并检查 null 。这样你就不会去数据库两次了。如果您的缓存设置正确,则不是真正的问题。我假设没有启用缓存。
我总是建议在您的控制器和数据层之间设置一个层,只是为了提供特定于域的逻辑。让您的控制器自由进行路由,让您的数据层保持清洁,仅用于数据访问。