У меня есть API сервис. У него есть соответствующий api path:
http://localhost:8080/VaultDairy/entry/criteria?contentText=...&title=...
Важно заметить, что параметры опциональные. Можно вообще вызвать
http://localhost:8080/VaultDairy/entry/criteria
и получить список всех записей без фильтрации.
У меня так же есть сервис в ангуляре, который делает GET запрос:
entryByCriteriaUri = '/api/entry/criteria';
....
getEntriesByCriteria(entry) {
const allEntries = new Array<Entry>();
const headers = new HttpHeaders();
headers.append('accept', '*/*');
headers.append('Authorization', token);
this.http.get<Entry[]>(
this.entryByCriteriaUri,
{
headers: headers,
params: {
'title': entry.title,
'contentText': entry.content.contentText
}
}
).subscribe(entries => {
entries.forEach(entry => {
console.log('Current entries from server: ', entry);
allEntries.push(entry);
});
});
return allEntries;
}
Безусловно, описал я не весь код, а только ту часть, которая вызывает проблемы.
Помимо всего прочего, у меня настроен экспоузинг в proxy.conf:
"/api/entry/criteria": {
"target": "http://localhost:8080/VaultDairy/",
"secure": false,
"pathRewrite": {
"^/api/entry/criteria": "entry/criteria"
}
}
Но в итоге когда вызываетс сервис - я получаю 404. Для эксперимента я решил убедиться в том, что косяк тут только с URI экспоузингом и подставил вместо
this.entryByCriteriaUri
вот это
http://localhost:8080/VaultDairy/entry/criteria
.
В итоге оно заработало, но мне нужен именно экспоузинг. Как его подправить?