[英]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
方法沒有正文。 您可能需要將HttpMethod.GET
更改為HttpMethod.POST
。
如果要在GET
提供參數,則可以將URL更改為http://localhost:5678/someRequest?expiry=23000
。 Spring RestTemplate GET的更多詳細信息帶有參數 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.