У меня есть приложение Angular7 и я хочу отправить HTTP-запрос к API через прокси-сервер Angular CLI.Затем API отвечает объектом JSON.Мои настройки для прокси выполняются в proxy.conf.js.
Простой запрос с простой целью работает нормально.Но я хочу динамически изменить запрос до его отправки.Я нашел инструкцию на https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md#bypass-the-proxy, но я просто не могу заставить ее динамически изменять целевой URL.
Моя цель:
Я хочу отправить запрос в API погоды.URL, который я посылаю этому API, должен содержать широту и долготу города.Город будет выбран пользователем.Этот пользовательский ввод должен изменить цель запроса.
Отправляемый мной запрос:
http://localhost:4200/forecast?lat=51.33962&lon=12.37129
Это мой прокси.conf.js:
const PROXY_CONFIG = [
{
context: [
"/forecast",
],
target: "https://api.anyName.net/forecast/anyKey/37.8267,-122.4233",
changeOrigin: true,
secure: false,
pathRewrite: {
"^/forecast": ""
},
bypass: function(req, res, proxyOptions) {
if (req.query.lat) {
let LATITUDE = req.query.lat;
let LONGITUDE = req.query.lon;
const newTarget = "https://api.anyName.net/forecast/anyKey/"+LATITUDE+","+LONGITUDE;
req.target = newTarget;
return newTarget;
}
},
}
];
module.exports = PROXY_CONFIG;
Я не совсем уверен, как использовать функцию обхода.Что я мог сделать, чтобы изменить цель?