我正在创建测试框架,并将RestTemplate类用于HTTP请求创建。
一般情况下,我使用下一个代码:
Response response = null;
ResponseEntity<String> responseEntity = null;
try{
responseEntity = getRest().exchange(url, httpMethod, httpEntity, String.class);
response = new Response(
responseEntity.getStatusCodeValue(),
responseEntity.getStatusCode().getReasonPhrase(),
responseEntity.getBody(),
responseEntity.getHeaders()
);
} catch (HttpStatusCodeException e){
response = new Response(
e.getRawStatusCode(),
e.getStatusText(),
e.getResponseBodyAsString(),
e.getResponseHeaders()
);
}
除了DELETE HTTP方法可接收204状态码和空主体作为响应之外,它在所有情况下均适用。
现在,我必须重新初始化RestTemplate进行修复。但我希望应该有另一种方式。
您能帮我吗?
答案 0 :(得分:0)
请检查是否对HttpMethod使用HttpMethod.Delete,并尝试在使用delete将交换的最后一个参数(不是String.class而是Void.class)放置为交换的最后一个参数时。
希望对您有帮助。