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 © 2024. All rights reserved.