如何使用标头、有效负载和正文制作 httpclient 获取请求?角度 API

Posted

技术标签:

【中文标题】如何使用标头、有效负载和正文制作 httpclient 获取请求?角度 API【英文标题】:How to make a httpclient get request with header, payload and body? Angular API 【发布时间】:2021-08-04 10:30:03 【问题描述】:

我需要使用 get 方法、header、payload 和 body 调用 API。 如果可能的话,请帮我举一个例子。

【问题讨论】:

你试过什么?按照角度文档angular.io/guide/http进行分步实施 我在关注文档,但我是初学者,在那里,我没有找到在哪里以及如何做有效载荷部分 你这个角度学习的视频youtube.com/watch?v=k5E2AVpwsko 您确定需要带有有效负载正文的 GET 请求吗?虽然没有明确禁止这是非常罕见的...... 【参考方案1】:

负载是否发送到 API?然后这是一个 POST 调用,有效负载进入正文。例如:

 const payloadUrl = "some_url"; 

 const body = 
          payload: "payload";
             

 postPayload(): Observable<any> 
          return this.http.post<any>(this.payloadUrl, body, httpOptions)
            .pipe(
              catchError(this.handleError('error', error))
            );
  

【讨论】:

我怎样才能将 coduser: integer 放入有效载荷中,好吗?我可以把身体(字段)放在哪里 const body = coduser: integer; body 进入 this.http.post(this.payloadUrl, body)【参考方案2】:

您可以使用 $q 来解析 Promise 并使用 $http 发送带有标头的 get 请求

var deferred = $q.defer();
var req = 
    method: 'GET',
    url: "some url",
    headers:
;

$http(req).success(function (res, status, headers, config) 
    deferred.resolve(res);
).error(function (res) 
    deferred.reject(res);
);

【讨论】:

【参考方案3】:

你可以这样试试

const userData: any = 
  example1: example1,
  example2: example2,
  example3: example3,
;
this.apiCall(userData);

   

apiCall(userData) 
  this.http.get<any>('api_link', userData).subscribe(data => 
    console.log('response: ', data);
  );

【讨论】:

以上是关于如何使用标头、有效负载和正文制作 httpclient 获取请求?角度 API的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Webflux Java 中记录请求正文

如何在scrapy中发送带有标头和有效负载的Post请求

如何获取使用TCP传输的RTP有效负载(关于删除标头)

什么是开销、有效负载和标头 [关闭]

在 java 中创建带有标头、有效负载和签名的 JWT

如何验证请求标头、JWT 令牌