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.