Я хочу реализовать повторно используемый сервис для отправки запросов в мой API.
Прямо сейчас у меня все работает как задумано, но только для GET
запросов.
Вот функция:
makeAPIRequest = ({ ...opts }) => {
return this.http.get(opts.url, opts.params)
.toPromise()
.then(response => response)
.catch(err => this.handleError(err));
};
И вот пример того, как она используется:
getCustomer(id): Promise<Customer> {
return this.APIService.makeAPIRequest({
url: this.customerEditUrl(id)
}) as Promise<Customer>;
}
Я хочу расширить функциональность, чтобы я мог передать метод HTTP в opts
, но я не уверен, как это сделать чисто. Я бы хотел избежать использования больших условных выражений и повторений - было бы неплохо подойти к этому кратко. Например, если я передам opts
, который будет выглядеть следующим образом:
{ url: this.customerEditUrl(id), params, httpMethod: 'POST' }
Как мне сделать так, чтобы моя makeAPIRequest
функция выглядела так?
makeAPIRequest = ({ ...opts }) => {
return this.http.post(opts.url, opts.params)
.toPromise()
.then(response => response)
.catch(err => this.handleError(err));
};
Заранее спасибо!