Java Key 和 Value 在同一参数中的 QueryParam
Java QueryParam with key and value in the same parameter
我正在创建一个接收字符串列表作为参数的端点(使用 Jersey 注释)。字符串需要包含一个键和一个值。
所以在 url 上它看起来像
?params=key1=value1¶ms=key2=value2¶ms....
两个问题:
- 我不确定上面的示例是否可行,我假设您必须对键和值之间的 = 符号进行编码。对吗?
- 是否有更好或更标准的方法来解决这个问题?
显然,最标准的方法是让 RHS 成为键,等号的 LHS 成为值。问题是我不想在我的方法签名中定义每个可能的键值对。我想接受键和值的一般列表,并让用户传入与其查询相关的键值对。
到目前为止,我已经尝试了几个 google 查询但没有找到答案:
- java url 键和值参数
- java url 带键和值的参数
- urljava
中的键值对列表
- Storing a list of key value pairs in a url parameter, javascript.(有 php 的答案,但我正在使用 Java,这在 Java 中有效吗?)
- how to send an array in url request(建议上面的内容在 java 中有效,如果是这样,索引可以是像 ¶ms[key2]=value2... 这样的字符串吗?)
是的。 Jersey 可以处理它,即使键和值之间的 =
不是 encoded.If 查询参数是 params=key1=value1¶ms=key2=value2
,下面的参数列表将是 [key1=value1, key2=value2]
@GET
public Response q34211549(@QueryParam("params") List<String> params) {
//parse params list and convert it into key and value
}
您也可以考虑创建一个 ParamConverter 让 Jersey 为您做这个转换。
参考
我正在创建一个接收字符串列表作为参数的端点(使用 Jersey 注释)。字符串需要包含一个键和一个值。 所以在 url 上它看起来像
?params=key1=value1¶ms=key2=value2¶ms....
两个问题:
- 我不确定上面的示例是否可行,我假设您必须对键和值之间的 = 符号进行编码。对吗?
- 是否有更好或更标准的方法来解决这个问题?
显然,最标准的方法是让 RHS 成为键,等号的 LHS 成为值。问题是我不想在我的方法签名中定义每个可能的键值对。我想接受键和值的一般列表,并让用户传入与其查询相关的键值对。
到目前为止,我已经尝试了几个 google 查询但没有找到答案:
- java url 键和值参数
- java url 带键和值的参数
- urljava 中的键值对列表
- Storing a list of key value pairs in a url parameter, javascript.(有 php 的答案,但我正在使用 Java,这在 Java 中有效吗?)
- how to send an array in url request(建议上面的内容在 java 中有效,如果是这样,索引可以是像 ¶ms[key2]=value2... 这样的字符串吗?)
是的。 Jersey 可以处理它,即使键和值之间的 =
不是 encoded.If 查询参数是 params=key1=value1¶ms=key2=value2
,下面的参数列表将是 [key1=value1, key2=value2]
@GET
public Response q34211549(@QueryParam("params") List<String> params) {
//parse params list and convert it into key and value
}
您也可以考虑创建一个 ParamConverter 让 Jersey 为您做这个转换。
参考