-
报错信息: Could not extract response: no suitable HttpMessageConverter found for response type。
-
报错原因分析: 自己在网上找了很久没有适合自己的解决办法,我推测我这里的报错原因应该是返回的信息不是严格的json格式,导致无法解析为字符串。
-
解决办法: 先使用
String.class
接收返回值,然后使用fastjson的JSON.parseObject转换为对象。注意不能用jackson的方法转换,jackson需要严格的json格式才会转换成功。代码如下:String str = restTemplateUtils.post(url, params, String.class); RespType resp = JSON.parseObject(str, RespType .class);
-
其他 :网上还有一些解决方法,主要是因为content-type不支持,但我这里content-type就是text/json的所以明显不符合我的情况,他们的解决方法主要是继承MappingJackson2HttpMessageConverter ,可自行百度。而我这里使用String接收,就不需要json转换,所以不会报错。另外猜测如果要从根本上解决需要加一个自己的HTTPMessageConverter,使用fastjson转换对象,这样一个可以支持,不过这还有待验证,后续我如果想起来会去尝试一下来更新。
-
最后:如果有问题可以及时讨论,有错误希望能指出。
resttemplate报错Could not extract response
最新推荐文章于 2024-02-27 20:57:18 发布