簡體   English   中英

Angular HttpClient 請求方法如何設置正文

[英]Angular HttpClient request method how to set body

我需要發送一個帶有正文的獲取請求。 我使用角 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'
        });
}

使用http.get()只是http.request('GET')的簡寫。 如果您確實需要發送 JSON 正文,則必須使用另一種類型的請求 - 例如 post。 像這樣的東西可能是你需要的:

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

您可能需要更改 API 端點以期待不同的 HTTP 動詞。

我聽從了你的建議,這是我將來為其他人提供的解決方案......

queryPost(body: string, req?: any) : any {

    const options = createRequestOption(req);
    return  this.http.post<ISubscriber[]>(this.searchUrl, body,
            {
                headers : new HttpHeaders({"Content-Type": "application/json"}),
                params: options,
                observe: 'response'
            });
}

還提到我必須在我的后端應用程序中創建一個新的 Post 端點。

謝謝你們

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM