本文主要是介绍restTemplate.getForObject方法第三方接口请求URL转义异常java.lang.IllegalArgumentException:Invalid character,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天自己写的一个小demo,使用RSA非对称算法加解密数据进行第三方接口测试。然后过程中出现了各种各样的bug,特别是下面这个错误,花了楼主大半天的时间去解决。。。
主要是使用 restTemplate.getForObject 方法去请求第三方接口请求参数的时候,带有+=这种类似的字符他会进行转义,然后解密失败。
下面是出错之前的代码:
ResponseResult object = restTemplate.getForObject("http://localhost:8080/test?result={1}", ResponseResult.class,encrypt);
楼主先是尝试了 UriComponentsBuilder 这个类里的方法把URL转换成URI,然后进行编码,结果发现这种方法转义的字符不全,+号没转,=号反而转了(# ̄~ ̄#)。
URI uri = UriComponentsBuilder.fromHttpUrl("http://loc
这篇关于restTemplate.getForObject方法第三方接口请求URL转义异常java.lang.IllegalArgumentException:Invalid character的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!