查询参数的Java Spring resttemplate字符编码

查询参数的Java Spring resttemplate字符编码,java,encryption,character-encoding,resttemplate,Java,Encryption,Character Encoding,Resttemplate,我使用JavaSpringRESTTemplate通过get请求获取json。查询参数值可以包含俄文字符。在这种情况下,我不会从API接收数据 我的代码: URI=UriComponentsBuilder.fromHttpUrl(url) .path(“/resume”) .queryParam(“文本”、“Java-аааааааааааааб .build() .toUri(); log.info(“URI:+URI”); 日志: 我也试过这个,但没用: 1) restemplate.ge

我使用JavaSpringRESTTemplate通过get请求获取json。查询参数值可以包含俄文字符。在这种情况下,我不会从API接收数据

我的代码:

URI=UriComponentsBuilder.fromHttpUrl(url) .path(“/resume”) .queryParam(“文本”、“Java-аааааааааааааб .build() .toUri(); log.info(“URI:+URI”); 日志:

我也试过这个,但没用:

1)
restemplate.getMessageConverters()
.add(0,新的StringHttpMessageConverter(StandardCharsets.UTF_8));
2) 
URI=UriComponentsBuilder.fromHttpUrl(url)
.path(“/resume”)
.queryParam(“文本”,URLEncoder.encode(“Java-азаааббббгббббб
.build()
.toUri();

可以采取什么措施使俄语字符不发生变化,并直接发送请求

也就是说,最终请求应该是这样的:

https://api.link.com/resume?text=Java-разработчик

问题出在编码上。安装UTF-8仅通过使用
encode(StandardCharsets.UTF_8)
for
UriComponentsBuilder

URI=UriComponentsBuilder.fromHttpUrl(url) .path(“/resume”) .queryParam(“文本”、“Java-аааааааааааааб .encode(标准字符集.UTF_8) .build() .toUri();
为什么
queryParam(“text”,URLEncoder.encode(myString,HTTP.UTF-8))
不起作用仍然是个谜。

问题原来是在编码中。安装UTF-8仅通过使用
encode(StandardCharsets.UTF_8)
for
UriComponentsBuilder

URI=UriComponentsBuilder.fromHttpUrl(url) .path(“/resume”) .queryParam(“文本”、“Java-аааааааааааааб .encode(标准字符集.UTF_8) .build() .toUri();
为什么
queryParam(“text”,URLEncoder.encode(myString,HTTP.UTF-8))
不起作用仍然是一个很大的谜。

也许这回答了你的问题@JavaMan在互联网上,这种方法在很多地方也被提到,但不幸的是,这对我没有帮助:(也许这回答了你在互联网上的问题@JavaMan,很多地方也提到了这种方法,但不幸的是,这对我没有帮助:(
https://api.link.com/resume?text=Java-разработчик