如何使用不同的上下文路径提供静态文件(index.html)和REST服务

时间:2016-09-14 12:22:30

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

我已经付出了很大的努力来搜索,但我找不到具体的解决方案。

我使用@RequestMapping("user")注释编写了 用户 服务。端点网址看起来像

http://localhost:8080/user

但我想公开像

这样的服务
http://localhost:8080/myServices/user 

我可以通过设置server.context-path=/myServices来实现,并且同一应用程序内的其他服务也应该遵循相同的url模式,例如。

http://localhost:8080/myServices/OTHERENDPOINT

但我也希望通过此默认网址访问位于index.html文件夹下的静态内容文件resources\static\

http://localhost:8080 

如果你使用默认context-path(/),这是可以实现的,但你不能在网址中使用'/ myServices'前缀。

我正在使用Spring boot 1.3.3 基于注释(无xml)的实现。有没有办法实现这种情况?

3 个答案:

答案 0 :(得分:0)

您可以使用@RequestMapping("myServices/user")注释您的用户服务。

答案 1 :(得分:0)

如果您将任何网络服务器设置为前端,例如Apache HTTPD,则可以使用指向静态内容的mod_proxy直接从Apache提供静态上下文。

其他方法是将应用程序发布为ROOT.war,以便仅使用域名http://my.domain.org提供内容,并使用@RequestMapping("/services/user")将服务映射到您已被告知的位置。

答案 2 :(得分:0)

在资源中添加文件夹“static”,包含所有静态内容,例如

/ yourapp

  

/ SRC /主/爪哇/ RestControllers

     

/src/main/resources/yourapp.properties

     

/ SRC /主/资源/静态

     
    

/views/home.html

         

/ other_resources

  

mvn spring-boot:run

http://localhost:/视图/ home.html的

对于REST @RestController with @RequestMapping