public class UrlQuery extends Object
key1=v1&key2=&key3=v3查询封装分为解析查询字符串和构建查询字符串,解析可通过charset为null来自定义是否decode编码后的内容,
Modifier and Type | Class and Description |
---|---|
static class |
UrlQuery.EncodeMode
编码模式
根据不同场景以及不同环境,对Query中的name和value采用不同的编码策略 |
Constructor and Description |
---|
UrlQuery(Map<? extends CharSequence,?> queryMap,
UrlQuery.EncodeMode encodeMode)
构造
|
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(PercentCodec keyCoder,
PercentCodec valueCoder,
Charset charset)
构建URL查询字符串,即将key-value键值对转换为
key1=v1&key2=v2&key3=v3 形式。 |
CharSequence |
get(CharSequence key)
获取查询值
|
Map<CharSequence,CharSequence> |
getQueryMap()
获得查询的Map
|
static UrlQuery |
of()
构建UrlQuery
|
static UrlQuery |
of(Map<? extends CharSequence,?> queryMap)
构建UrlQuery
|
static UrlQuery |
of(Map<? extends CharSequence,?> queryMap,
UrlQuery.EncodeMode encodeMode)
构建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,
UrlQuery.EncodeMode encodeMode)
构建UrlQuery
|
static UrlQuery |
of(UrlQuery.EncodeMode encodeMode)
构建UrlQuery
|
UrlQuery |
parse(String queryStr,
Charset charset)
解析URL中的查询字符串
|
UrlQuery |
parse(String queryStr,
Charset charset,
boolean autoRemovePath)
解析URL中的查询字符串
|
UrlQuery |
remove(CharSequence key)
移除键及对应所有的值
|
UrlQuery |
setEncodeMode(UrlQuery.EncodeMode encodeMode)
设置编码模式
根据不同场景以及不同环境,对Query中的name和value采用不同的编码策略 |
String |
toString()
生成查询字符串,类似于aaa=111&bbb=222
此方法不对任何特殊字符编码,仅用于输出显示 |
public UrlQuery(Map<? extends CharSequence,?> queryMap, UrlQuery.EncodeMode encodeMode)
queryMap
- 初始化的查询键值对encodeMode
- 编码模式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, UrlQuery.EncodeMode encodeMode)
queryStr
- 初始化的查询字符串charset
- decode用的编码,null表示不做decodeautoRemovePath
- 是否自动去除path部分,true
则自动去除第一个?前的内容encodeMode
- 编码模式。public static UrlQuery of()
public static UrlQuery of(UrlQuery.EncodeMode encodeMode)
encodeMode
- 编码模式public static UrlQuery of(Map<? extends CharSequence,?> queryMap)
queryMap
- 初始化的查询键值对public static UrlQuery of(Map<? extends CharSequence,?> queryMap, UrlQuery.EncodeMode encodeMode)
queryMap
- 初始化的查询键值对encodeMode
- 编码模式public UrlQuery setEncodeMode(UrlQuery.EncodeMode encodeMode)
encodeMode
- 编码模式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(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编码Copyright © 2025. All rights reserved.