我有一个用PHP创建的“ api rest”,该服务返回一个带有“ header”,“ body”,“ get”,“ pos”参数的JSON,无需任何类型的验证即可接收。
现在,我已经创建了一个与“ api rest”连接的直角服务,在那里,我遇到的问题是我想将参数发送为“ BODY”,但是我不知道如何,调查中,但我尚未找到形状。
是否可以通过HttpClient.get()
发送“正文”?
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;
}));
}
}
答案 0 :(得分:2)
GET请求没有 body 。 您应该使用POST或PUT。
您可以阅读here有关http方法的一些信息。 关于GET: GET方法请求指定资源的表示形式。使用GET的请求应该只检索数据,并且没有其他作用
因此,发送正文是错误的,因为GET方法不应更改任何内容。