HttpObserve исчез в угловой версии 8 для запроса на получение HttpClient - PullRequest
0 голосов
/ 03 ноября 2019

Я разрабатываю угловое приложение. Я пытаюсь реализовать запрос на получение HttpClient в соответствии с документацией: https://angular.io/api/common/http/HttpClient.

Поэтому в глобальном масштабе я пытаюсь использовать запрос get (url: string, httpHeader: HttpHeaders, наблюдать: HttpObserve, params: HttpParams), но похоже что HttpObserve пропал. Вы можете мне помочь?

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

Спасибо за ваш ответ и комментарий. Поскольку я хочу добавить дополнительный код, я отвечаю на вопрос, а не добавляю комментарий. Моим основным намерением сделать такой запрос является добавление HttpParams (точнее, объекта, представляющего все дополнительные параметры для моего запроса get) к запросу. Вот метод обслуживания:

  getListProduitImmobilierDTO(pagesize: number, page: number, params: HttpParams): Observable<ProduitImmobilierDTO[]> {
    const headerDict = {
      'Content-Type': 'application/json',
      Accept: 'application/json',
      'Accept-Charset': 'charset=UTF-8',
      'Access-Control-Allow-Headers': 'Content-Type'
    };
    return this.http.get('/api/produitimmobilier/all/' + pagesize + '/' + page, new HttpHeaders(headerDict), { observe: 'response' }, params).pipe(map((jsonArray: any) => jsonArray.map((jsonItem: object) => ProduitImmobilierDTO.fromJson(jsonItem))));
  }

Как вы можете видеть yazantahhan, я добавил {Наблюдение: 'ответ'} вместо HttpObserve, и это указывает на следующую ошибку:

Expected 1-2 arguments, but got 4.

Извините, alt255, но я не могу привести воспроизводимый пример, так как это запрос, и ему нужен сервер для ответа на запрос. Что я могу вам сказать, так это следующий метод:

  getListProduitImmobilierDTO(pagesize: number, page: number): Observable<ProduitImmobilierDTO[]> {
    const headerDict = {
      'Content-Type': 'application/json',
      Accept: 'application/json',
      'Accept-Charset': 'charset=UTF-8',
      'Access-Control-Allow-Headers': 'Content-Type'
    };

    const requestOptions = {
      headers: new HttpHeaders(headerDict)
    };
    return this.http.get('/api/produitimmobilier/all/' + pagesize + '/' + page, requestOptions).pipe(map((jsonArray: any) =>jsonArray.map((jsonItem) => ProduitImmobilierDTO.fromJson(jsonItem))));
}
0 голосов
/ 03 ноября 2019

Попробуйте использовать это так:

this.http.get('URL', { observe: 'response' });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...