我在做一个spring boot项目。我想使用带有编码参数的restemplate发送一个http请求。
RestTemplate restTemplate = new RestTemplate();
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory()); //for logging purpose
String client_id = "ABFNrj+stZ";
String url = "https://helloworld.co/api?client_id=%1$s";
url = String.format(url, URLEncoder.encode(client_id, StandardCharsets.UTF_8));
ResponseEntity<Object> resp = restTemplate.exchange(url, HttpMethod.GET, entity, new ParameterizedTypeReference<Object>(){});
在日志中,我得到了“%252b”。resttemplate似乎将“%2b”编码为“%252b”。
但是如果我不编码客户端的id,例如,
url = String.format(url, client_id);
在日志中,我将得到“+”没有任何编码。
如何在不使用双重编码的情况下发送编码为“+”的请求。
暂无答案!
目前还没有任何答案,快来回答吧!