How to convert map to url query string?

前端 未结 17 1568
盖世英雄少女心
盖世英雄少女心 2020-11-27 13:39

Do you know of any utility class/library, that can convert Map into URL-friendly query string?

Example:

I have a map:

\"param1\"=12,
\"param2         


        
17条回答
  •  没有蜡笔的小新
    2020-11-27 14:13

    For multivalue map you can do like below (using java 8 stream api's)

    Url encoding has been taken cared in this.

    MultiValueMap params =  new LinkedMultiValueMap<>();
    String urlQueryString = params.entrySet()
                .stream()
                .flatMap(stringListEntry -> stringListEntry.getValue()
                        .stream()
                        .map(s -> UriUtils.encode(stringListEntry.getKey(), StandardCharsets.UTF_8.toString()) + "=" +
                                UriUtils.encode(s, StandardCharsets.UTF_8.toString())))
                .collect(Collectors.joining("&"));
    

提交回复
热议问题