修改日期 | 修改人 | 备注 |
2018-04-11 14:46:21[当前版本] | 李豪山 | 。 |
2018-04-11 14:43:06 | 李豪山 | CREAT |
当使用 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,是时候怼一波看下了,调用没问题,结果也返回了: