У меня есть метод в службе для обработки всех внутренних запросов.Вместо того чтобы писать целую кучу разных вызовов с использованием HttpClient, я подумал, что мог бы написать одну единственную функцию, которая могла бы подключиться к моему бэкэнду и передать ему аргументы для обработки различных типов данных.
Рассмотрим эту функцию
public postRequest(token: string, url: string, body: any, headers: Object = {}) : Observable<any> {
//create new header object
const httpOptions = {
headers: new HttpHeaders()
.set('Authorization', token)
};
//add the headers if any
for(let index in headers){
httpOptions.headers.set(index, headers[index]);
}
//connect to the backend and return the repsonse
return this.http.post( this.config.BASE_SERVER_URL + url, body , httpOptions)
.pipe(
map((res) => {
return res;
}),
catchError(this.handleError)
);
}
Это работает хорошо, за исключением того, что я хотел иметь возможность динамически устанавливать тип ответа.Таким образом, я могу настроить метод на использование одного из моих типов моделей.
Вот что я пытаюсь выполнить.Надеюсь, это имеет смысл.
map(res: "Attendee") => {}
//or
map(res: typeof(typeInput)) => {}
Возможно ли вставить "динамический" тип в метод карты http, чтобы я мог сопоставить различные ответы с выбранной моделью?