用postman测试接口报错
{
"timestamp": "2020-08-11T12:11:39.982+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Not enough variable values available to expand '1'",
"path": "/directory/insertDirectory"
}
第一种情况:
这个错误是因为下方代码中restTemplate发送请求的参数写错了,从别处复制过来多了个?srcIp={1}。所以会报错"Not enough variable values available to expand '1'",
@Override
public void insertDirectory(Directory directory) {
System.out.println(hostIp);
restTemplate.put("https://127.0.0.1:9037/directory/insertDirectory?srcIp={1}", directory);
}
其实正确应该是
@Override
public void insertDirectory(Directory directory) {
System.out.println(hostIp);
restTemplate.put("https://127.0.0.1:9037/directory/insertDirectory", directory);
}
第二种情况:
restTemplate.put请求有不同的参数格式,比如下面两种,区别在于中间那个null。
restTemplate.put("https://" + hostIp + ":9037/device/deleteByPlatformName?platformName={1}", null, platformName);
restTemplate.put("http://localhost:9035/device/updateByUuId",device);
如果写成下列这种格式
restTemplate.put("https://" + hostIp + ":9037/device/deleteByPlatformName?platformName={1}", platformName);
少了一个null,那么也会报同样的错误