当使用 RestTemplate 远程调用时可能会遇到异常:Not enough variables available to expand
废话不说,直接上代码:
结果报错信息如下图:
咦?Not enough variables available to expand ''name'' 是什么东东?莫非是paramJson这个参数出问题了?可是这样的参数应该是没问题的吖!那么,到底是什么原因导致的呢。。。。
经过一顿查找发现了问题所在,paramJson这个参数把花括号 { } 中的内容被解析当成了占位符,而这里又没有明确说明占位符对应的值,所以会导致报错。
那么这就可以理解了,下面怎么解决呢?看了下getForObject()的源码:
发现还有第三个参数 Object uriVarables,so easy,只需要简单几步即可搞定了,在url中使用占位符传参,将占位符的参数值即所传 json 放在第3个参数位置。
如下:
OK,是时候怼一波看下了,调用没问题,结果也返回了:
下面将会有专门对RestTemplate的讲解文章,小伙伴们期待喔!
创建人 | 李豪山 |
文档编辑权限 | 创建者私有 |
文档阅读权限 | 来自分类 |
分类阅读权限 | 所有人 |
分类编辑权限 | 所有人 |
分类审核权限 | 无 |
修改日期 | 修改人 | 备注 |
2018-04-11 14:46:21[当前版本] | 李豪山 | 。 |
2018-04-11 14:43:06 | 李豪山 | CREAT |