public static String getQueryStringFromParams(MultiValueMap<String, String> queryParams, boolean encodeValues) {
        try {
            return getQueryStringFromParams(queryParams, "UTF-8", encodeValues);
        } catch (UnsupportedEncodingException e) {
            // Should NEVER happen
            throw new IllegalStateException("UTF-8 should always be supported by the JVM", e);
        }
    }
public static String getQueryStringFromParams ( MultiValueMap < String , String > queryParams , boolean encodeValues ) { try { return getQueryStringFromParams ( queryParams , "UTF-8" , encodeValues ) ; } catch ( UnsupportedEncodingException e ) { throw new IllegalStateException ( "UTF-8 should always be supported by the JVM" , e ) ; } }
Builds a query string from the specified params. The param names are always encoded, but the values are only encoded
if {@code encodeValues} is true. UTF-8 is used as the encoding charset.

@param queryParams   the params to build the query string with
@param encodeValues  if the param values should be encoded

@return the query string