Частичная перезапись URL-адреса прокси-сервера не происходит, как ожидалось - PullRequest
0 голосов
/ 07 июня 2019

Я хочу запустить приложение Angular 7 на сервере разработчика и получить доступ к данным XML из тестовой базы данных (https://demo.aligni.com/api/v2/oid3vLgynoy_Yl1gZkrgkLEq3J/part/000222?find_by=partnumber)

Angular справедливо жаловался на CORS, и ответы SO и документация веб-пакета привели меня к тому жевывод - создайте прокси и перепишите URL, чтобы обойти мою проблему с CORS.

Тем не менее, pathRewrite в Webpack не работает должным образом, чтобы получить желаемый результат.

Я попытался настроить проксиФайл .conf.json выглядит следующим образом.

{
    "/api/*": {
        "target": "https://demo.aligni.com/api/v2/",
        "secure": false,
        "logLevel":"debug",
        "pathRewrite": {"^api/": ""}
        }
}

Соответствующая часть из моего app.component.ts

this.http.get(
    '/api/oid3vLgynoy_Yl1gZkrgkLEq3J/part/728', 
    {
    headers: httpHeaders,
    responseType: 'text'})
    .subscribe((data)=> console.log(data), (err)=>console.log(err));

}

Мои фактические результаты от прокси.Ведение журнала conf.json:

[HPM] GET /api/oid3vLgynoy_Yl1gZkrgkLEq3J/part/728 -> https://demo.aligni.com/api/v2/

На основе документации веб-пакета «приведенная ниже конфигурация перезапишет HTTP-запросы на удаление части / api в начале URL-адреса» [Перезапись URL-адресов запроса прокси: https://github.com/webpack/docs/wiki/webpack-dev-server]... Мои ожидаемые результаты:

GET /api/oid3vLgynoy_Yl1gZkrgkLEq3J/part/728 -> https://demo.aligni.com/api/v2/oid3vLgynoy_Yl1gZkrgkLEq3J/part/728

Чтобы получить ожидаемые результаты, мне нужно будет только удалить part / api в начале URL, указанного в угловом вызове (точныйy, что указано в документации веб-пакета), и добавьте ее к моей цели.

pathRewrite удаляет весь URL-адрес, а не только его «api /», как я и ожидал.

Конечно, Angular дает мне 404, как вы получите, если вы посетите https://demo.aligni.com/api/v2/

Я не смог найти пример для этого варианта использования с pathRewrite, где мне действительно нужна часть URLменя отправили. После пары часов поиска я увидел несколько правил перезаписи пути XML, но не смог найти хороший учебный ресурс.Я предпочел бы решить эту проблему с помощью pathRewrite, если это возможно.Большое спасибо заранее, это все немного ново для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...