簡體   English   中英

如何使用Java Spring的RestTemplate的exchange方法將主體添加到HTTP請求?

[英]How to add a body to a HTTP request using Java Spring's RestTemplate's exchange method?

我正在嘗試使用RestTemplate的exchange方法發送HTTP請求。 但是,由於某種原因,已發送請求的HTTP正文似乎為空。

這是我當前擁有的代碼(原始代碼更復雜):

package somepackage;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.web.client.RestTemplate;

public class SomeMainClass {
    public static void main(String[] args) {
        HttpEntity<String> entity = new HttpEntity<>("body contents", new HttpHeaders());
        new RestTemplate().exchange("http://localhost:5678/someRequest", HttpMethod.GET, entity, String.class);
    }
}

為了確認上面的代碼是否起作用,我在終端中運行了nc -l 5678 (偵聽端口5678上的請求),並且在我的IDE中,我運行了上面的代碼。 我終端中的nc命令打印出沒有正文的HTTP請求(我希望它具有帶有字符串“ body contents”的正文)。

為什么不起作用? 我該如何解決?

注意:以下是我決定使用exchange方式的要求

  • 它必須是一個GET請求。
  • 該請求需要有一個正文。
  • 我必須設置一些標題。
  • 我需要閱讀回復的正文。

GET方法沒有正文。 您可能需要將HttpMethod.GET更改為HttpMethod.POST

如果要在GET提供參數,則可以將URL更改為http://localhost:5678/someRequest?expiry=23000 Spring RestTemplate GET的更多詳細信息帶有參數

暫無
暫無

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

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