Как отправить параметр "тело" в HttpClient.get ()? - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть «api rest», который я создал в PHP, сервис возвращает JSON с параметрами «header», «body», «get», «pos», который приходит к получению без какого-либо подтверждения,Теперь я создал службу в angular для соединения с «api rest», все в порядке, проблема в том, что я хочу отправить параметр как «BODY», но я не знаю как, я былрасследование, но я не нашел форму.Можно ли отправить "тело" через HttpClient.get()?

to test my service use

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { map } from 'rxjs/operators';
import { Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class ServicioService {
  constructor(private http: HttpClient) { }
  getQuery(query: string){
    const url = `http://localhost:8080/servicio/`;

    const headers = new HttpHeaders({
      'Authorization': 'Bearer BQAiaibx-we0RSlZFN29B5TPF4t6egxbuuEsc5ZYZhpamHUhImd5'
    });
    const params = new HttpParams()
    .set('page', '2')
    .append('page', '3')
    .set('sort', 'abc');
    return this.http.get (url, { params, headers});
  }
  getNewReleases(){
    return this.getQuery("")
                .pipe( map((data: any) => {
                  return data;
                }));

  }
}

this is what the console prints when executing the code.

1 Ответ

2 голосов
/ 10 апреля 2019

GET-запрос не имеет тела . Вы должны использовать POST или PUT.

Вы можете прочитать здесь немного о методах http. О GET: Метод GET запрашивает представление указанного ресурса. Запросы, использующие GET, должны только извлекать данные и не должны иметь никакого другого эффекта

Итак, было бы неправильно отправлять тело, потому что метод GET не должен ничего менять.

...