在Spring应用程序中,控制器或服务中应在哪里进行API调用?

时间:2020-05-13 04:35:57

标签: spring spring-boot api service controller

我有一个Spring应用程序。它公开了一个端点,当命中该端点时,需要调用某个其他API。因此,我应该在控制器本身内部在哪里进行此API调用,还是应该在服务类中进行此调用?

1 个答案:

答案 0 :(得分:2)

基于任何体系结构风格(DDD,微服务等),我们应遵循 关注点分离

最佳做法是为要使用的API创建 Rest Client 类,并在其中进行所有其他调用。

然后创建一个 Service 类,以调用使用API​​的方法,执行操作,数据过滤器以及任何您想对数据进行的操作。

下一步是将服务类注入控制器内,并返回您刚刚消耗的数据并对其进行一些操作。

在一个小型项目/功能中听起来可能并不好,但是当事情变得复杂并不断发展时,这是最佳实践。