HttpUrl queryParameters into MultiValuedMap

问题描述 投票:0回答:1

我正在尝试将HttpUrl的查询参数填充到MultiValuedMap中。

我已经能够转换为地图。是否可以将Map>转换为所需的MultiValuedMap?

    HttpUrl url = request.url();
    Map<String, List<String>> queryParams =
        request.url().queryParameterNames().stream()
            .collect(Collectors.toMap(name -> name, name -> url.queryParameterValues(name)));
java okhttp
1个回答
3
投票

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);
© www.soinside.com 2019 - 2024. All rights reserved.