Angular HttpClient请求方法如何设置主体

时间:2019-01-15 10:24:32

标签: angular angular-httpclient

我需要发送带有正文的get请求。我正在使用有角的HttpClient。我知道get方法不允许发送正文,所以我改为请求方法,但是我不知道如何使用它。

我能够从示例波纹管中获取没有主体部分的数据,但我确实需要将主体作为JSON格式发送。

    request(req?: any): any{

    const options = createRequestOption(req);
    return this.http
        .request<ISubscriber[]>("GET", this.resourceUrl,
        {
            body: '[{"key": "phoneLineType", "operation": ">", "value": "200"}]',
            headers: new HttpHeaders({'Content-Type' : 'application/json'}),
            params: options,
            observe: 'response'
        });
}

2 个答案:

答案 0 :(得分:2)

使用http.get()只是http.request('GET')的简写。如果您确实需要发送JSON正文,则必须使用另一种请求-例如post。这样的事情可能就是您需要的:

return this.http
  .post<ISubscriber[]>(
    this.resourceUrl,
    '[{"key": "phoneLineType", "operation": ">", "value": "200"}]',
    {
      params: options
    {
  )

您可能需要更改API端点才能使用其他HTTP动词。

答案 1 :(得分:0)

我遵循了您的建议,这是我将来为他人提供的解决方案...

 1 record(s) affected. 

也如前所述,我必须在我的后端应用程序中创建一个新的Post端点。

谢谢大家