Настройте перенаправление всех вызовов $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');
Другие вопросы по тегам