带有spring-boot的$ resouce中的可配置端口

时间:2016-04-22 10:00:22

标签: angularjs spring-boot angular-resource netflix-zuul

先决条件

  • spring-boot 1.3.1.RELEASE
  • TypeScript 1.8.9
  • AngularJs 1.5.3
  • Zuul

我有一个api网关,它隐藏了一组微服务。 这个api网关使用zuul将Urls映射到不同的微服务。

zuul:
  routes:
service1:
  path: /service1/**
  serviceId: FIRST-MICROSERVICE
service2:
  path: /service2/**
  serviceId: SECOND-MICROSERVICE
service3:
  path: /service3/**
  serviceId: THIRD-MICROSERVICE

问题

我希望能够使用spring-boot在不同的端口上启动api网关,如下所示:

java -jar -Dserver.port=8081 myspringbootapplication.jar

主机应始终是从中传送angularjs应用程序的主机。 问题是端口依赖于tomcat服务器的端口spring-boot startet。 目前http://localhost:9001是硬编码的。

    .factory('app.core.services.myApiResource', ['$resource', '$http',
        ($resource:ng.resource.IResourceService, $http:ng.IHttpService):ng.resource.IResourceClass<ng.resource.IResource<any>> => {
            var apiRoot : ng.resource.IResourceClass<ng.resource.IResource<any>>
                = $resource('http://localhost:9001/service1/myentity/search/:finderName');
            return apiRoot;
        }
    ])

在bootstrap.yml中,默认端口为9001

# Default ports
server.port: 9001

有没有办法将angularjs $ resource中的端口值设置为spring-boot server.port值?

0 个答案:

没有答案