Map<String, Object>轉換成uri請求串

20170405發表於2020-08-28

  將Map轉換成uri請求串,主要是如果Object是String[]的話,原先的就構造失敗了

  /**

  * 生成get引數請求url

  * 示例:

  * 示例:

  *

  * @param protocol 請求協議 示例: http 或者 https

  * @param uri 請求的uri 示例: 0.0.0.0:80

  * @param params 請求引數

  * @return

  */

  原版的 (我忘了從哪裡複製的了)

  public String generateRequestParameters(String protocol, String uri, Mapparams) {

  StringBuilder sb = new StringBuilder(protocol).append("://").append(uri);

  if (!params.isEmpty()) {

  sb.append("?");

  for (Map.Entry map : params.entrySet()) {

  sb.append(map.getKey())

  .append("=")

  .append(map.getValue())

  .append("&");

  }

  uri = sb.substring(0, sb.length() - 1);

  return uri;

  }

  return sb.toString();

  }

  我最佳化的

  為了相容

  public String generateRequestParameters(String protocol, String uri, Mapparams) {

  StringBuilder sb = new StringBuilder(protocol).append("://").append(uri);

  if (!params.isEmpty()) {

  sb.append("?");

  for (Map.Entry map : params.entrySet()) {  

  String t_key = (String) map.getKey();

  Object t_oValue = map.getValue();

  String t_strValue = "null";

  if (t_oValue instanceof String)

  {

  t_strValue = (String) t_oValue;

  }

  else if (t_oValue instanceof String[])

  {

  t_strValue = StringUtils.join((String[]) map.getValue());

  }

  else

  {//預設

  t_strValue = t_oValue.toString();

  }

  sb.append(map.getKey())

  .append("=")

  .append(t_strValue)

  .append("&");

  }

  uri = sb.substring(0, sb.length() - 1);

  return uri;

  }

  return sb.toString();

  }

  這個Map的來源是

  //獲取打標籤的使用者列表

  @RequestMapping(value = "/enterttt/mm/gg/tt",method = RequestMethod.GET)

  public String getTagUserList(Model model, HttpServletRequest request) {

  String t_path = request.getContextPath();

  String t_path2 = request.getServletPath();

  String t_path3 = request.getRequestURI();

  //獲取所有引數

  Map map = request.getParameterMap();

  MapuriMap = new HashMap<>(16);

  uriMap.putAll(map);


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979119/viewspace-2715526/,如需轉載,請註明出處,否則將追究法律責任。

相關文章