public class UrlQuery extends Object
key1=v1&key2=&key3=v3查询封装分为解析查询字符串和构建查询字符串,解析可通过charset为null来自定义是否decode编码后的内容,
| Constructor and Description |
|---|
UrlQuery()
构造
|
UrlQuery(boolean isFormUrlEncoded)
构造
|
UrlQuery(Map<? extends CharSequence,?> queryMap)
构造
|
UrlQuery(Map<? extends CharSequence,?> queryMap,
boolean isFormUrlEncoded)
构造
|
| Modifier and Type | Method and Description |
|---|---|
UrlQuery |
add(CharSequence key,
Object value)
增加键值对
|
UrlQuery |
addAll(Map<? extends CharSequence,?> queryMap)
批量增加键值对
|
String |
build(Charset charset)
构建URL查询字符串,即将key-value键值对转换为
key1=v1&key2=v2&key3=v3形式。 |
String |
build(Charset charset,
boolean encodePercent)
构建URL查询字符串,即将key-value键值对转换为
key1=v1&key2=v2&key3=v3形式。 |
String |
build(PercentCodec keyCoder,
PercentCodec valueCoder,
Charset charset)
构建URL查询字符串,即将key-value键值对转换为
key1=v1&key2=v2&key3=v3形式。 |
String |
build(PercentCodec keyCoder,
PercentCodec valueCoder,
Charset charset,
boolean encodePercent)
构建URL查询字符串,即将key-value键值对转换为
key1=v1&key2=v2&key3=v3形式。 |
CharSequence |
get(CharSequence key)
获取查询值
|
Map<CharSequence,CharSequence> |
getQueryMap()
获得查询的Map
|
static UrlQuery |
of(Map<? extends CharSequence,?> queryMap)
构建UrlQuery
|
static UrlQuery |
of(Map<? extends CharSequence,?> queryMap,
boolean isFormUrlEncoded)
构建UrlQuery
|
static UrlQuery |
of(String queryStr,
Charset charset)
构建UrlQuery
|
static UrlQuery |
of(String queryStr,
Charset charset,
boolean autoRemovePath)
构建UrlQuery
|
static UrlQuery |
of(String queryStr,
Charset charset,
boolean autoRemovePath,
boolean isFormUrlEncoded)
构建UrlQuery
|
UrlQuery |
parse(String queryStr,
Charset charset)
解析URL中的查询字符串
|
UrlQuery |
parse(String queryStr,
Charset charset,
boolean autoRemovePath)
解析URL中的查询字符串
|
UrlQuery |
remove(CharSequence key)
移除键及对应所有的值
|
UrlQuery |
setStrict(boolean strict)
设置是否严格模式
|
String |
toString()
生成查询字符串,类似于aaa=111&bbb=222
此方法不对任何特殊字符编码,仅用于输出显示 |
public UrlQuery()
public UrlQuery(boolean isFormUrlEncoded)
isFormUrlEncoded - 是否为x-www-form-urlencoded模式,此模式下空格会编码为'+'public UrlQuery(Map<? extends CharSequence,?> queryMap)
queryMap - 初始化的查询键值对public UrlQuery(Map<? extends CharSequence,?> queryMap, boolean isFormUrlEncoded)
queryMap - 初始化的查询键值对isFormUrlEncoded - 是否为x-www-form-urlencoded模式,此模式下空格会编码为'+'public static UrlQuery of(Map<? extends CharSequence,?> queryMap)
queryMap - 初始化的查询键值对public static UrlQuery of(Map<? extends CharSequence,?> queryMap, boolean isFormUrlEncoded)
queryMap - 初始化的查询键值对isFormUrlEncoded - 是否为x-www-form-urlencoded模式,此模式下空格会编码为'+'public static UrlQuery of(String queryStr, Charset charset)
queryStr - 初始化的查询字符串charset - decode用的编码,null表示不做decodepublic static UrlQuery of(String queryStr, Charset charset, boolean autoRemovePath)
queryStr - 初始化的查询字符串charset - decode用的编码,null表示不做decodeautoRemovePath - 是否自动去除path部分,true则自动去除第一个?前的内容public static UrlQuery of(String queryStr, Charset charset, boolean autoRemovePath, boolean isFormUrlEncoded)
queryStr - 初始化的查询字符串charset - decode用的编码,null表示不做decodeautoRemovePath - 是否自动去除path部分,true则自动去除第一个?前的内容isFormUrlEncoded - 是否为x-www-form-urlencoded模式,此模式下空格会编码为'+'public UrlQuery setStrict(boolean strict)
strict - 是否严格模式public UrlQuery add(CharSequence key, Object value)
key - 键value - 值,集合和数组转换为逗号分隔形式public UrlQuery addAll(Map<? extends CharSequence,?> queryMap)
queryMap - query中的键值对public UrlQuery remove(CharSequence key)
key - 键public UrlQuery parse(String queryStr, Charset charset)
queryStr - 查询字符串,类似于key1=v1&key2=&key3=v3charset - decode编码,null表示不做decodepublic UrlQuery parse(String queryStr, Charset charset, boolean autoRemovePath)
queryStr - 查询字符串,类似于key1=v1&key2=&key3=v3charset - decode编码,null表示不做decodeautoRemovePath - 是否自动去除path部分,true则自动去除第一个?前的内容public Map<CharSequence,CharSequence> getQueryMap()
public CharSequence get(CharSequence key)
key - 键public String build(Charset charset)
key1=v1&key2=v2&key3=v3形式。null处理规则如下:
null,则这个键值对忽略null,只保留key,如key1对应value为null生成类似于key1&key2=v2形式charset - encode编码,null表示不做encode编码public String build(Charset charset, boolean encodePercent)
key1=v1&key2=v2&key3=v3形式。null处理规则如下:
null,则这个键值对忽略null,只保留key,如key1对应value为null生成类似于key1&key2=v2形式charset - encode编码,null表示不做encode编码encodePercent - 是否编码`%`public String build(PercentCodec keyCoder, PercentCodec valueCoder, Charset charset)
key1=v1&key2=v2&key3=v3形式。null处理规则如下:
null,则这个键值对忽略null,只保留key,如key1对应value为null生成类似于key1&key2=v2形式keyCoder - 键值对中键的编码器valueCoder - 键值对中值的编码器charset - encode编码,null表示不做encode编码public String build(PercentCodec keyCoder, PercentCodec valueCoder, Charset charset, boolean encodePercent)
key1=v1&key2=v2&key3=v3形式。null处理规则如下:
null,则这个键值对忽略null,只保留key,如key1对应value为null生成类似于key1&key2=v2形式keyCoder - 键值对中键的编码器valueCoder - 键值对中值的编码器charset - encode编码,null表示不做encode编码encodePercent - 是否编码`%`Copyright © 2025. All rights reserved.