从Web控制器调用spring Rest Controller

时间:2018-02-20 08:23:26

标签: java rest spring-mvc spring-boot thymeleaf

我们正在尝试使用spring-boot-web和百里香叶来构建应用程序。这就是我们现在所拥有的。

  • REST层: - 这些是向外部世界公开数据的@RestController API。
  • 网络层: - 这些是处理应用程序UI部分的@Controller端点。来自UI的任何请求都将来自此层,我们计划调用其余层。

这是一种正确的方法,如果是,理想情况下我应该从网络层调用其余层吗?一个想法可能是使用REST模板来调用REST层并将其视为一个隔离的API,但我不确定这是否是正确的方法。感觉就像一个额外的网络电话给我。

2 个答案:

答案 0 :(得分:1)

  1. 如果您想使用AJAX(jquery,javascript,React,Angular)从客户端调用该端点,那么您的应用程序架构中只需要@RestController。

  2. 如果您的页面是从服务器端呈现的,并且FORMs是在没有AJAX的情况下提交的,那么您只需要@Controller

  3. 要将业务逻辑与控制器(如您所说的Web控制器)分开,您可以引入可以从@Controller调用的@Service层。

答案 1 :(得分:0)

控制器不需要调用Rest控制器。 创建Controller和Rest Controller使用的公共服务,如果您需要休息服务以及UI。