我resttemplate.exchange()失败的POST请求,与服务器返回500错误。
我试图设置根日志记录级别为DEBUG,但返回500错误之前记录什么。 以确保我的日志记录配置是正确的,我的resttemplate调用之前添加了一行
HttpClient client = new DefaultHttpClient();
client.execute(new HttpGet("http://google.com"));
在这种情况下,确实有很多日志消息的出现。
所以我怎样才能使RestTemplate导出调试数据?
感谢杨
从您的分析看来,你希望RestTemplate使用Apache的HttpClient。
然而,在默认情况下,春季RestTemplate不使用Apache的HttpClient但使用JDK设施(java.net.URL中#的openConnection()等)SimpleClientHttpRequestFactory的手段。
org.springframework.http.client.support.HttpAccessor声明:
private ClientHttpRequestFactory requestFactory = new
SimpleClientHttpRequestFactory();
据我所知,这个客户端不支持登录请求/响应。
要改变RestTemplate使用HttpClient的,试试这个:
new RestTemplate(new HttpComponentsClientHttpRequestFactory());
那么日志配置应使类别org.apache.http.wire
在级别debug
的完整的请求/要记录的响应。