Как передать GET --data-urlencode curl с помощью RestTemplate? - PullRequest
0 голосов
/ 01 июля 2019

Вот мой пример curl команда.

curl -v -X GET "https://example.com/keyword.json?a=1&b=2" --data-urlencode "example=another language"

И я делаю GET запрос с RestTemplate следующим образом:

public class Example {
    public void start(String url) {
        RestTemplate restTemplate = new RestTemplate();

        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url)
                .queryParam("a", 1)
                .queryParam("b", 2)
                .queryParam("example", "another language")
                .encode(StandardCharsets.UTF_8);

        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

        ResponseEntity<String> responseEntity = restTemplate.exchange(
                builder.toUriString(),
                HttpMethod.GET,
                new HttpEntity<>(httpHeaders),
                String.class
        );
    }
}

Проблема в том, что я хочу отправить пример параметра --url-encoded на других языках, кроме английского, но он не закодирован должным образом.

Как я правильно понял?

...