今天需要调联其他服务的接口,结果出现了两个报错
URI does not specify a valid host name
org.apache.http.client.ClientProtocolException:URI does not specify a valid host name
代码:
String jsonStr =JsonUtils.toJsonStr(entity);
String parmas = "'className': 'tempService'," +
" 'method': 'temp'," +
" 'param': "+jsonStr;
String url = "localhost:9999";
String maps = this.httpsClients.doPostJson(url, parmas);
JSONObject jsons = JSONObject.parseObject(maps);
String msg = jsons.getString("msg");
logger.debug("调息结果:"+msg);
当我用postman测试的时候发现第一次调用成功了,还以为直接就能调通了,但是当断点继续运行下去的时候,发现代码竟然报错了,后面跟之前代码对比的时候发现之前代码里有http:// ,自己的没有,明白了代码里需要完整的URL才能完成运行,于是加上前缀:
String url = "http://localhost:9999";
此问题解决
not close json text, token : :
上一问题解决了马上就出现了这个问题🤔,(莫名其妙,为什么postman就能调通代码里就总有问题🤔)经过和postman里的对比,发现postman里一直在最外面有一个括号我一直没有删一直存在
而我的代码里面没有,于是在代码里也加上这最外面的括号
String parmas = "{'className': 'temporaryQuoteService'," +
" 'method': 'createQuoteTemp'," +
" 'param': "+jsonStr+"}";
结果:
乌啦啦~
解决!!调通了
写这调用接口的时候一定一定要仔细!不要漏掉任何东西!