Настройте перенаправление всех вызовов $http & $resource на другую конечную точку
Я хотел бы запустить фиктивный сервер, например JSON Server, и переключаться между моим реальным бэкэндом Java REST API и этим JSON Server во время разработки (например, когда реальные бэкэнд-сервисы не работают). Есть ли способ легко настроить angular для использования другого хоста для всех запросов?
Моя настройка:
- localhost: 8080 - приложение Spring MVC, обслуживает SPA + API
- localhost: 8080 / api - Spring MVC Rest API
- localhost: 9090 / api - JSON-сервер
И я хотел бы переключаться между звонками на localhost:8080/api
а также localhost:9090/api
с одной линией для всего приложения Angular.
2 ответа
@PetrAveryanov дал мне подсказку. С помощью json-proxy
это так же просто, как запуск прокси:
json-proxy -p 8081 -f "/api=http://localhost:9090" -f "/=http://localhost:8080"
И доступ к приложению через порт 8081
, "Обычные" запросы будут по-прежнему передаваться 8080
(Tomcat, обслуживающий приложение Spring MVC). Все вызовы API будут идти на 9090
Сервер JSON.
Мы можем установить переменную prefixURI, чтобы быстро менять указатель на другой API.
Использование:
var prefixURI ='https://••••':
//var prefixURI = '';//if you are on same port it is empty
$http.get(prefixURI+'posts');