【发布时间】:2018-07-30 13:02:28
【问题描述】:
我们正在尝试使用 spring-boot-web 和 thyme-leaf 构建一个应用程序。这就是我们目前所拥有的。
-
REST 层:-这些是将数据暴露给外部世界的
@RestControllerAPI。 -
Web 层:- 这些是处理应用程序 UI 部分的
@Controller端点。来自 UI 的任何请求都会从这一层传来,我们计划调用其余层。
这是一种正确的方法吗?如果是的话,我应该如何从 web 层调用其余层?一个想法可能是使用 REST 模板来调用 REST 层并将其视为隔离 API,但我不确定这是否是正确的方法。感觉就像是给我打了一个额外的网络电话。
【问题讨论】:
-
为什么要从
@Controller调用@RestController?此外,“Web 层”对于您的控制器来说是一个非常具有误导性的名称。 -
如今,在很多情况下,将 HTML 前端编写为通过 HTTP 调用相同 REST 端点的 JavaScript 应用程序更为常见。
-
@chrylis 我们的想法是我们不确定我们是否正在做一个 UI 繁重的项目来保留不同的前端应用程序。这就是我们继续开发具有简单 UI 的应用程序的原因。
-
@Kayaman 这就是我的问题所在,我想保持 REST 层独立于 UI。提交表单请求将到达另一个仅处理 UI 而不是 REST API 的控制器。这就是为什么我需要从 UI Controller 调用 Rest Controller。
-
这就是为什么我发布这个问题想要一些相同的想法。我们如何将 UI 和 REST 部分分开?
标签: java rest spring-mvc spring-boot thymeleaf