一个项目中的Spring Rest和Angular JS

时间:2017-02-24 11:05:22

标签: angularjs spring tomcat spring-boot spring-restcontroller

我正在尝试创建一个Spring Boot多模块Restful Web服务。 我的计划是使用Angular JS和HTML页面来使用此Web服务以及移动应用程序。

我很困惑,如果它是一个Spring引导的RestController,我怎么能在tomcat启动时获得登陆页面。

我想在apache中添加HTML页面,在tomcat中添加RestFul Webservice。

是否有最佳解决方案,以便我可以在一个tomcat中使用Webservice和Html

2 个答案:

答案 0 :(得分:1)

您可以从spring-boot提供静态内容,因此您无需另外配置tomcat。

spring-boot serving static content

答案 1 :(得分:1)

当谈到它时,AngularJS应用程序由一堆HTML和JS文件组成。由于这些只是静态文件,您可以使用Spring Boot提供这些文件。这是一个简约的例子:

Spring boot application runner:

@RestController
public class MyRestController {
    @RequestMapping(value = "/api")
    public String getSomething() {
        return "something";
    }
}

示例REST控制器:

<html>
<head>
    <script src="/path/to/angular.js"></script>
    <script src="myangularapp.js"></script>
</head>
<body>
    <div ng-app="myAngularApp"></div>
</body>
</html>

引导角度应用的index.html:

index.html

myangularapp.js/resources/public位于 Set<RoleGroup> getAuthorities() { UserRoleGroup.findAllByUser(this)*.roleGroup } //not used // Set<RoleGroup> getAuthoritiesNames() { // UserRoleGroup.findAllByUser(this)*.roleGroup?.name // } Set<Role> getAuthority() { UserRole.findAllByUser(this).collect { it.role } as Set } 的位置(假设是Maven项目结构)

运行spring boot应用程序时,http://localhost:8080/index.html可以访问Angular应用程序 可以在http://localhost:8080/api

上访问REST界面