Как создать URL-адрес с помощью UriComponentsBuilder, где параметр представляет собой список значений - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь создать URI с помощью UriComponentsBuilder, у меня есть параметр, значение которого представляет собой список.

UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromHttpUrl("https://example/endpoint")

                    .queryParam("client_id", clientId)
                    .queryParam("scope", list) //[scope1, scope2, scope3]
                    .queryParam("redirect_uri", redirectUri);

    return uriComponentsBuilder.build(false).encode().toUriString();

Вывод:

https://example/endpoint?client_id=clientId&scope=scope1&scope=scope2&scope=scope3&redirect_uri=https://redirect

Это неверно У меня есть параметр области действия для каждого значения списка scope = scope1 & scope = scope2 & scope = scope3

Ожидаемый результат должен быть:

 https://example/endpoint?client_id=clientId&scope=scope1+scope2+scope3&redirect_uri=https://redirect

Каков правильный способ сопоставления перечислить значения параметра?

1 Ответ

1 голос
/ 25 мая 2020

Вы можете просто сделать

.queryParam("scope", String.join("+",list))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...