汽车导购
badrequest(使用SimpleClientHttpRequestFactory配置RestTemplate的问题)

背景:

由于接口的参数为json,于是采用了postForEntity进行调用(这样的调用方式在其他的项目调用起来是没有问题的).

调用方式

参数格式: json

结果:返回400异常

解决

后来无意间注意到url中含有s=XXX。尝试url变成httpxxx.aaa.com,把s=XXX用parameter的方式发送过去。返回了302,于是查看服务端日志

使用SimpleClientHttpRequestFactory配置RestTemplate的问题nerror="javascript:errorimg.call(this);">

服务器日志

于是把通过restTemplate调用的url改成http://xxx.aaa.com/?s=/api/fff/dddd 重新调用。能够正常响应了。

原来在使用SimpleClientHttpRequestFactory配置的RestTemplate,不会对url进行检查。


使用SimpleClientHttpRequestFactory配置RestTemplate的问题nerror="javascript:errorimg.call(this);">

通过WireShark进行抓包对比 两种请求的url

结论

为了避免上面的问题我们还是用HttpComponentsClientHttpRequestFactory来配置RestTemplate,同时还能够用它来配置同时支持忽略证书的方式来访问https。


顶一下()     踩一下()

热门推荐

发表评论
0评