REST模板中具有307状态代码的空响应实体

时间:2018-08-11 17:07:35

标签: spring rest http spring-boot spring-rest

我正在尝试使用Spring RestTemplateBuilder来调用REST Web服务和POST数据。这是我的代码示例。

public HttpHeaders getHttpHeaders() {
    HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.add("Authorization", "Basic " + authToken);
    requestHeaders.add("Content-Type", "application/json");
    return requestHeaders;
}

public ResponseJson getData(RequestJson requestJson) {
    HttpEntity<RequestJson> entity = new HttpEntity<>(requestJson, getHttpHeaders());
    ResponseEntity<ResponseJson> result = restTemplateBuilder.build().postForEntity(PostUrl, entity, ResponseJson.class);
}

调试时,它为 ResponseEntity 提供 status = 307 body = null 。但是,当我直接通过请求正文调用PostUrl时,它会使用 201状态代码创建数据。

我可以知道如何找出这种307状态以及为什么我得到空响应吗?

1 个答案:

答案 0 :(得分:2)

这对我有效,使用HttpComponentsClientHttpRequestFactory https://lateralcoding.blogspot.com/2018/03/Spring-RestTemplate-AutoRedirect.html