PUT-запрос не запускается (POST и GET работают) - PullRequest
0 голосов
/ 19 марта 2019

Метод POST и GET работают отлично, но метод PUT не работает.

У меня есть компонент с этой функцией для обновления данных альбома через подписку:

onChangeTitle() {
    this.album.name = this.titleInput;
    const albumToEdit: IAlbumEdit = {
      'name': this.album.name,
      'description': this.album.description,
      'public': this.album.public
    };

    this.albumService.putAlbum(this.album.id, albumToEdit).subscribe(
      album => {
        this.album = album;
      },
      error => {
        this.handleError('no se ha podido modificar el álbum: ' + error);
        this.titleInput = this.album.name;
      }
    );
  }

Служба имеет эту функцию, которая возвращает Observable:

putAlbum(id, album: IAlbumEdit): Observable<IAlbum> {
    return this.http.put<IAlbum>(`${AppSettings.API_URL}/album/${id}`, album);
}

Это действительно легко, но я не понимаю, почему этот метод пут на httpclient не запускается (я вижу на сетевом мониторе в Firefox, что любой пут вызывает).

Кроме того, у меня есть перехватчик для добавления заголовка авторизации, но он не выполняется методом PUT.

Мой перехватчик такой:

export class JwtInterceptor implements HttpInterceptor {
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    // add authorization header with jwt token if available
    console.log('intercept');
    const currentUser = JSON.parse(localStorage.getItem('currentUser'));
    if (currentUser && currentUser.token) {
      request = request.clone({
        setHeaders: {
          Authorization: `Bearer ${currentUser.token}`
        }
      });
    }

    console.log(request);

    return next.handle(request);
  }
}

1 Ответ

1 голос
/ 20 марта 2019

Проблема была исправлена.Проблема была в том, что я импортировал HTTP_INTERCEPTOR в несколько модулей.Я исправил проблему с импортом только в app.module.ts.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...