Следуя указаниям Google по httpClient , удалите req , и я не могу его правильно настроить.
Не думайте, что это бэкэнд, потому что все запросы CRUD прекрасно работают на Swagger.
Пытаясь удалить строки в таблице материалов, это моя разметка шаблона:
<ng-container matColumnDef="delete">
<th mat-header-cell *matHeaderCellDef> Delete </th>
<td mat-cell *matCellDef="let element">
<button
mat-icon-button
(click)="onDeleteTableRowFunc()" aria-label="Delete row">
<mat-icon>cancel</mat-icon>
</button>
</td>
</ng-container>
Компонент к шаблону:
onDeleteTableRow() {
const destroy = this.somedata.find(item => item.someId === this.selectedRowId);
this.projectService.deleteProjectFunction(destroy.someId, this.projId).subscribe();
// update user's view
const rowIndex = this.dataSource.data.findIndex(item2 => item2.someId === this.selectedRowId);
this.dataSource.data.splice(rowIndex, 1);
this.dataSource.data = this.somedata;
и сервис (примечание: httpOptions установлен правильно, как var в другом месте файла):
deleteProjectFunction(someId: number, prosjektId: number): Observable<{}> {
const url = `${this.realUrl}/api/folder/${projId}/folder2/${someId}`;
return this.httpClient.delete(url, this.httpOptions)
.pipe(
catchError(this.handleError)
);
}
Обновление пользовательского интерфейса (удаление строки из таблицы работает), и, как уже упоминалось, API настроен правильно, чтобы Swagger работал должным образом.
Но приведенный выше код, адаптированный из связанного Ang6, возвращает обобщенный project.service.ts:61 Backend returned code 500, body was: [object Object]
, запускаемый методом pipe для catchError.
Есть идеи, что я делаю неправильно в моем методе удаления?