Внедрение прокси-сервера в Angular4-5 - PullRequest
0 голосов
/ 25 апреля 2018

Постановка проблемы: Клиент / пользовательский интерфейс, разработанный с использованием angular-cli и Angular-5, UI работает на http://localhost:4200, и у нас есть внутренний сервер работает на http://localhost:8000, что означает, что все API-интерфейсы вызываются как http://localhost:8000/users/getuserinfo и правильно возвращает некоторые данные json.Также есть другие маршруты, такие как http://localhost:8000/student/getresult и т. Д.

Так что мне нужно создать прокси для этого, как при запуске ng serve моего приложения, открытого в браузере на http://localhost:4200, но при обращении к URL-формам API, например, http://localhost:4200/users/getuserinfo, которые возвращают результат, например, 404, т.е. не найден, но когда я нажимаю URL-адрес в другой вкладке для http://localhost:8000/users/getuserinfo,, он возвращает мне данные JSON.

Так что мне нужно создать прокси для http://localhost:4200/users/getuserinfo, чтобы он походил на http://localhost:8000/users/userinfo. Я пытался реализовать, используя DOCS , но не удалось, а также не знаю, как получить всеapis в файле proxy.conf.json, кто-нибудь может мне помочь?

Ниже мой код,

{
   "/users/userinfo": {
   "target": "http://localhost:8000",
   "secure": false
   }
}

1 Ответ

0 голосов
/ 25 апреля 2018

Определите прокси-файл для вашего API и запустите сервер с помощью этой команды:

ng serve --proxy-config proxy.conf.json

proxy.conf.json

{
  "/users": {
    "target": "http://localhost:8000",
    "secure": false
  }
}

Я считаю, что все мои маршруты API проще добавлять к /api. Это упрощает обслуживание приложения в рабочей среде, поскольку вы можете вернуть приложение по всем маршрутам, которые не начинаются с /api, и это делает настройку прокси-сервера такой же простой, поскольку вам нужно настроить только одно правило, а не несколько используя ваше текущее состояние.

...