Я использую службу базового класса с id именем свойства при выборе данного элемента, но у меня есть другие компоненты, которые используют разные имена свойств.
Для пользовательского компонента, который использует «код» вместо «id», когда я нажимаю, чтобы обновить элемент (метод PUT), консоль выдает ошибку 400 и показывает неверный URL-адрес запроса:
http://example.com/api/items/code
вместо
http://example.com/api/items/C002
Указанная полезная нагрузка верна:> {code: "C002", имя "Item 2"}
Класс изделия выглядит следующим образом:
export interface Item {
code: string;
name: string;
}
Метод компонента:
updateItem(form: FormGroup) {
this.route.params.subscribe(params => {
form.value.id = params['code'];
this.itemService.update('code', form.value)
.subscribe(res => {
this.router.navigate(['/list']);
});
});
}
и базовый класс обслуживания:
public update(id: string, dto: INDTO): Observable<OUTDTO> {
return this.http.put<OUTDTO>(`/${this.controllerName}/${id}`, dto, this.endPointFactory.getRequestHeaders());
}
Что я здесь не так делаю?