HttpUrl queryParameters в MultiValuedMap - PullRequest
0 голосов
/ 19 января 2020

Я пытаюсь заполнить параметры запроса HttpUrl в MultiValuedMap.

Мне удалось преобразовать в карту. Есть ли способ преобразовать карту> в желаемую MultiValuedMap?

    HttpUrl url = request.url();
    Map<String, List<String>> queryParams =
        request.url().queryParameterNames().stream()
            .collect(Collectors.toMap(name -> name, name -> url.queryParameterValues(name)));

1 Ответ

2 голосов
/ 19 января 2020

MultiValueMap может быть легко построено, как показано ниже

HttpUrl url = request.url();
MultiValueMap<String, List<String>> queryParams = new LinkedMultiValueMap<>();
request.url().queryParameterNames().stream()
                   .forEach(name -> queryParams.add(name, url.queryParameterValues(name)));

Значения Map могут быть непосредственно преобразованы в MultiValueMap, как показано ниже

MultiValueMap<String, List<String>> multiValueMap = new LinkedMultiValueMap<>(queryParams);
...