У меня есть основы Spring Cloud, работающие со шлюзом (с прокси-сервером Zuul Proxy) (/ ui,/admin в качестве отдельных микросервисов). Я следую spring boot blog by Dave SyerВесеннее ботинковое облако Zuul Proxy - ссылки на прокси-сервер жестко запрограммированного кода
zuul:
routes:
ui:
url: http://localhost:8081
admin:
url: http://localhost:8082
resource:
url: http://localhost:9000
Идея заключается в том, что gateway
(Zuul) будет работать на 8080 и передние конечные приложения (UI
и Admin
) будет знать только gateway
и не имеют никакого знания ui
и admin
backend end URLs. Приложение админ просто свяжитесь с `http://localhost:8080/admin '
установки работает отлично, за исключением того, что передний конец приложение (для Ex: admin
) придется жёстко на /admin
маршрут в качестве префикса во все JS & HTML кода. 2 примеры ниже:
Следующие не работают (в admin.js).
angular.module('admin', []).controller('home',
function($scope, $http) {
var computeDefaultTemplate = function(user) {
$scope.template = user && user.roles &&
user.roles.indexOf("ROLE_WRITER")>0 ? "write.html" : "read.html";
}
Однако после действительно работает: существуют
angular.module('admin', []).controller('home',
function($scope, $http) {
var computeDefaultTemplate = function(user) {
$scope.template = user && user.roles &&
user.roles.indexOf("ROLE_WRITER")>0 ? "admin/write.html" : "admin/read.html";
// ..... !! NOTE the hardcoding of 'admin/' prefix route !!!
}
Похожие вопросы в админ приложения: index.html
Works (но не желательно):
<body ng-app="admin" ng-cloak class="ng-cloak" ng-controller="home">
...
..... !! NOTE the hardcoding of 'admin/' prefix route !!!
<script src="admin/js/admin.js" type="text/javascript"></script>
....
</body>
</html>
Безразлично» т:
<body ng-app="admin" ng-cloak class="ng-cloak" ng-controller="home">
...
<script src="js/admin.js" type="text/javascript"></script>
....
</body>
</html>
Очевидно, что это жесткое кодирование маршрута «/ admin» во всех ссылках на href во всех HTML и JS-коде в администраторе нежелательно. Как я могу это преодолеть (как сохранить относительные ссылки в моем коде администратора)?
так это угловой код на HTTP: // локальный: 8082 в сервисе 'администратор'? – freakman
да. Я отредактирую вопрос с этой запиской. – mpprdev
Если вы проходите через маршрутизатор zuul, вам нужно знать контекст. Я не вижу никакого способа «/ admin» в вашем js. Почему это «нежелательно»? – spencergibb