引入依赖
RestClient 默认 requestFactory 使用的是 JdkClientHttpRequestFactory, 没有日志功能
这里需要切换为 HttpComponentsClientHttpRequestFactory
| 12
 3
 4
 5
 
 | <dependency>
 <groupId>org.apache.httpcomponents.client5</groupId>
 <artifactId>httpclient5</artifactId>
 </dependency>
 
 | 
配置类
这里我额外加入了 Base 认证和一个 json 的消息转换器
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | @Beanpublic RestClient mqttApiRestClient(ObjectMapper objectMapper) {
 String auth = mqttProperties.getRest().getApiKey() + ":" + mqttProperties.getRest().getSecretKey();
 byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(StandardCharsets.UTF_8));
 String header = "Basic " + new String(encodedAuth);
 HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
 factory.setConnectTimeout(3000);
 factory.setConnectionRequestTimeout(5000);
 return RestClient.builder()
 .requestFactory(factory)
 .messageConverters(httpMessageConverters -> httpMessageConverters.add(4,
 new MappingJackson2HttpMessageConverter(objectMapper)))
 .baseUrl(mqttProperties.getRest().getApi())
 .defaultHeader("Authorization", header)
 .build();
 }
 
 | 
日志配置
| 12
 3
 4
 
 | logging:level:
 
 org.apache.hc.client5.http.wire: debug
 
 |