Я пытаюсь удалить сообщение с помощью запроса на удаление, но мне кажется, что заголовки не отображаются правильно.
project-list.component.ts
deleteProject(project) {
let headers: Headers = new Headers({
'Authorization': 'Bearer ' + this.token
});
this.projectsService.deleteProject(project.id, { headers: headers }).subscribe(
result => console.info(result),
err => console.error(err)
);
}
projects.service.ts
deleteProject(id: number, { headers: headers }): Observable<Project[]>{
return this.http.delete<Project[]>(this._wpBase + 'posts/' + id);
}
Запрос DELETE направляется по правильному URL-адресу, но он неавторизован. Под заголовками написано
HttpErrorResponse {headers: HttpHeaders, status: 401, statusText: "Unauthorized", url: "http://.../wp-json/wp/v2/posts/69", ok: false, …}
Я предполагаю, что это из-за заголовков: HttpHeaders, но я не знаю, как это исправить. Любая помощь?

Попробуйте использовать
deleteProject(id: number, headers: any): Observable<any>{
return this.http.delete(this._wpBase + 'posts/' + id, headers);
}
Вы не передаете заголовки в запрос на удаление. Который вы создали в своем компоненте. Вот как должно быть.
deleteProject(id: number, { headers: headers }): Observable<Project[]>{
return this.http.delete<Project[]>(this._wpBase + 'posts/' + id, headers);
}
Обновлять:
Ваше удаление не вернет объект Project.
deleteProject(id: number, { headers: headers }): Observable<any>{
return this.http.delete(this._wpBase + 'posts/' + id, headers);
}
Обновление 2:
Обновлен параметр
deleteProject(id: number, headers: any): Observable<any>{
return this.http.delete(this._wpBase + 'posts/' + id, headers);
}
[ts] Тип «Observable <HttpEvent <Project [] >>» не может быть назначен типу «Observable <Project []>». Тип «HttpEvent <Project []>» нельзя присвоить типу «Project []». Тип «HttpSentEvent» нельзя присвоить типу «Project []». Свойство includes отсутствует в типе HttpSentEvent. Вот что мне говорит код Visual Studio
К сожалению, он по-прежнему говорит, что не авторизован, и заголовок кажется пустым: c
Тогда это может быть проблема с токеном, который вы передаете. !!
Вы не добавляете заголовки к фактическому вызову
delete