前言
SpringBoot 的 RestTemplate是一个比较方便的http请求框架,在调试的时候我们需要查看http的request和response信息RestTemplate不会主动帮我们打印出来,但是我们可以在RestTemplate的拦截器中新增一个我们的log拦截器即可打印Http的必要信息。
代码实现如下:
private static final Logger logger = LoggerFactory.getLogger(WebMvcConfigure.class);
private ClientHttpRequestInterceptor logClientHttpRequestInterceptor() {
return ((httpRequest, bytes, clientHttpRequestExecution) -> {
ClientHttpResponse response = clientHttpRequestExecution.execute(httpRequest, bytes);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
if (response.getStatusCode() == HttpStatus.OK) {
byte[] bys = new byte[512];
int length;
while ((length = response.getBody().read(bys)) > 0) {
outputStream.write(by