0

我有一个带有 REST 控制器的 Spring MVC 应用程序,它用作基于 Angular 的 JavaScript 前端应用程序的后端。有时需要向前端返回资源的相对 URL。

问题是:相对 URL 应该从什么开始?

假设绝对 URL 是http://host:port/context-path/servlet-path/service/id,我看到以下选项:

  • 上下文路径:/context-path/servlet-path/service/id
  • servlet 路径:/servlet-path/service/id
  • 仅请求映射:/service/id

前端应用程序部署在与后端相同的 Web 应用程序中,但在不同的目录中,例如http://host:port/context-path/gui-app/

4

1 回答 1

1

由于基于 Angular 的单页 Web 应用程序仅通过 REST 之类的 API 与后端通信,并且除了 REST API 的 URL 之外不知道任何其他信息,因此您需要将上下文路径变量存储在前端。

这可以存储在 JSON 配置文件或所有 Angular JS 控制器共享的全局 Javascript 文件中。

对后端的一个建议是api/<version>在 REST 控制器名称之前使用前缀,这样可以更轻松地将 REST API 与其他 URL 区分开来。

 http://host:port/context-path/api/v1/servlet-path/service/id
于 2015-10-12T10:55:57.160 回答