为什么我们需要在单独的服务层中编写业务逻辑而不是在控制器本身中编写?

Sah*_*lla 0 spring spring-mvc spring-boot microservices

创建不同的层(即服务层)来实现业务逻辑而不是在控制器本身中实现该业务逻辑有什么用

Anu*_*nay 5

这是因为关注点分离。在控制器中,主要感兴趣的是处理传入的 http 请求并响应该请求。我们担心与处理与给定通信渠道相关的事情相关的事情。

您可以公开rest api以及soap api,或者您可能有多种想要共享数据的格式。这样的业务逻辑并不关心您如何将此数据传达给最终用户。因此,您将其取出并保留在一个仅处理业务逻辑的公共位置,而控制器类仅调用它。然后,您可以让休息控制器和肥皂控制器通过同一段业务逻辑代码应答请求。

您在控制器中所做的就是验证调用服务的请求并以您希望向调用者公开的方式处理异常。