我正在尝试使用以下方法发送 POST 请求,并在发送请求时返回 HTTP 响应代码。
有问题的代码:
private ClientHttpRequestFactory getClientHttpRequestFactory() {
HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory();
clientHttpRequestFactory.setConnectTimeout(timeout);
return clientHttpRequestFactory;
}
public int sendRequest() {
RestTemplate request = new RestTemplate(getClientHttpRequestFactory());
String URL = buildURL();
HttpHeaders headers = buildHeaders();
validatePayload();
HttpEntity<String> postRequest = new HttpEntity<String>(requestPayload, headers);
return request.postForObject(URL, postRequest, ResponseEntity.class).getStatusCodeValue();
}
我正在生成一个 ClientHttpRequestFactory,因此我可以设置一个超时,并最终使用 RestTemplate 的 postForObject 发送一个 POST。我的问题是程序在发送 POST 请求后立即终止(它在命令行中运行),并且我无法对响应代码做任何事情。我在网上找不到任何文档说这是 postForObject 的预期行为,这里有什么我应该做不同的事情吗?
谢谢!