在使用RestTemplate发送HTTP请求时,如果请求失败,可以通过以下步骤打印明细状态:
import org.springframework.http.client.DefaultResponseErrorHandler;
import org.springframework.web.client.ResponseErrorHandler;
import org.springframework.http.HttpStatus;
import org.springframework.http.client.ClientHttpResponse;
import java.io.IOException;
public class ErrorHandler extends DefaultResponseErrorHandler {
@Override
public void handleError(ClientHttpResponse response) throws IOException {
if (response.getStatusCode() != HttpStatus.OK) {
// 获取错误信息
String errorBody = new String(response.getBody().readAllBytes());
System.out.println("请求失败,错误信息:" + errorBody);
}
}
}
RestTemplate restTemplate = new RestTemplate();
restTemplate.setErrorHandler(new ErrorHandler());
String url = "http://example.com/api/endpoint";
try {
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
// 处理成功响应
} catch (Exception e) {
// 请求失败,错误信息已经在ErrorHandler中打印出来了
}
通过以上步骤,当RestTemplate请求失败时,你可以打印出明细状态,以便进行错误排查和处理。
关于RestTemplate的更多信息和使用方法,你可以参考腾讯云的产品文档:RestTemplate使用指南。
领取专属 10元无门槛券
手把手带您无忧上云