code: 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);
          }
      }
docs: 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