Spring MVC应用程序中相对URL的正确基础是什么?

时间:2015-10-12 10:41:03

标签: java api spring-mvc servlets relative-url

我有一个带有REST控制器的Spring MVC应用程序,它作为基于Angular的JavaScript前端应用程序的后端。有时需要将前端返回到资源的相对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/

1 个答案:

答案 0 :(得分:1)

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

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

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

 http://host:port/context-path/api/v1/servlet-path/service/id