使用HashMap对象传递url参数实用工具类

简介:

代码如下:


package com.yanek.util;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;



public class HttpUtil {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		Map<String, String> paramValues = new HashMap<String, String>();
		paramValues.put("b", "2");
		paramValues.put("a", "1");
		paramValues.put("c","3");
		paramValues.put("d","4");
		paramValues.put("e","5");
		System.out.println("post params::::"+getParams("post",paramValues));
		System.out.println("get params::::"+getParams("get",paramValues));
		System.out.println("post params::::"+getParamsOrderByKey("post",paramValues));
		System.out.println("get params::::"+getParamsOrderByKey("get",paramValues));

	}
	/**
	 * 得到参数列表字符串
	 * @param method   请求类型 get or  post
	 * @param paramValues 参数map对象
	 * @return  参数列表字符串
	 */
	public static String getParams(String method,Map<String, String> paramValues)
	{
		String params="";
		Set<String> key = paramValues.keySet();
		String beginLetter="";
		if (method.equalsIgnoreCase("get"))
		{
			beginLetter="?";
		}

		for (Iterator<String> it = key.iterator(); it.hasNext();) {
			String s = (String) it.next();
			if (params.equals(""))
			{
				params += beginLetter + s + "=" + paramValues.get(s);
			}
			else
			{
				params += "&" + s + "=" + paramValues.get(s);
			}
		}
		return params;
	}
	
	
	/**
	 * 按照key排序得到参数列表字符串
	 * @param method   请求类型 get or  post
	 * @param paramValues 参数map对象
	 * @return  参数列表字符串
	 */
	public static String getParamsOrderByKey(String method,Map<String, String> paramValues)
	{
		String params="";
		Set<String> key = paramValues.keySet();
		String beginLetter="";
		if (method.equalsIgnoreCase("get"))
		{
			beginLetter="?";
		}
		List<String> paramNames = new ArrayList<String>(paramValues.size());
		paramNames.addAll(paramValues.keySet());
		Collections.sort(paramNames);
		for (String paramName : paramNames) {
			
			if (params.equals(""))
			{
				params += beginLetter + paramName + "=" + paramValues.get(paramName);
			}
			else
			{
				params += "&" + paramName + "=" + paramValues.get(paramName);
			}
		}

		return params;
	}
	
	
	

	 
	 
}

输出如下:


post params::::d=4&e=5&b=2&c=3&a=1
get params::::?d=4&e=5&b=2&c=3&a=1
post params::::a=1&b=2&c=3&d=4&e=5
get params::::?a=1&b=2&c=3&d=4&e=5


目录
相关文章
|
1月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
41 1
|
1月前
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
34 0
|
2月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
2月前
|
Java
JAVA 获取 URL 指定参数的值
JAVA 获取 URL 指定参数的值
42 0
|
3月前
|
存储 Java
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
|
3月前
|
JavaScript 前端开发 数据格式
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
181 0
|
3月前
|
JavaScript
js 获取并解析 url 中参数的三种方法
js 获取并解析 url 中参数的三种方法
284 0
|
4月前
|
存储 安全 Java
《ArrayList & HashMap 源码类基础面试题》面试官们最喜欢问的ArrayList & HashMap源码类初级问,你都会了?
《ArrayList & HashMap 源码类基础面试题》面试官们最喜欢问的ArrayList & HashMap源码类初级问,你都会了?
35 0
|
4月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之在调用接口传入的图片URL参数,文件在本地或者非上海地域OSS链接,该怎么办
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
4月前
|
Web App开发 移动开发 安全
如何做到修改 url 参数页面不刷新
如何做到修改 url 参数页面不刷新