当前位置: 首页 > 知识库问答 >
问题:

JavaQueryParam与键和值在同一参数

养聪
2023-03-14

我正在创建一个endpoint(使用Jersey注释),该endpoint接收字符串列表作为参数。字符串需要包含一个键和一个值。所以在url上看起来像

?params=key1=value1&params=key2=value2&params.... 

两个问题:

  • 我不确定上面的例子是否有效,我假设您必须对key和value之间的=符号进行编码。对吗

显然,最标准的方法是将RHS作为键,将等号的LHS作为值。问题是我不想在我的方法签名中定义每一个可能的键值对。我希望接受一个键和值的一般列表,并让用户成对传递与查询相关的内容。

到目前为止,我已经尝试了几个谷歌查询,但没有找到答案:

  • java url键和值参数
  • java url参数与键和值
  • url java中键值对列表
  • 在url参数中存储键值对列表,javascript。(有一个PHP的答案,但我使用Java,这在Java工作吗?)
  • 如何在url请求中发送数组(建议以上将在java中工作,如果是这样,索引可以是一个字符串,如

共有1个答案

左丘恩
2023-03-14

对Jersey可以处理它,即使键和值之间没有编码。如果查询参数为params=key1=value1

@GET
public Response q34211549(@QueryParam("params") List<String> params) {
    //parse params list and convert it into key and value
}

您还可以考虑创建一个PARAMECTRANT,让JeSee为您做这个转换。

参考

  • JAX-RS ParamConverter和ParamConverterProvider示例

 类似资料:
  • 我希望在迭代的帮助下获得JSON对象键及其元素的各个值 我的json会像这样:-

  • 谁能解释一下为什么numpad keyup和keydown事件返回不同的键值? 考虑一下这个: 我本来以为每个事件都会为键降和键增返回相同的键值,但相反,我得到了下面的输出(在按0,1,2,8和9之后): 按键:代码:96,按键:0<br>按键:代码:96,按键` keydown:代码:97,密钥:1 keyup:代码:97,密钥:a 向下键:代码:98,键:2 向上键:代码:98,键:b 按键:

  • 在处理redis时,是键不是键之间有很重要的区别。 键是数据库中数据片段(可以是String,List,Hash或任何其他redis数据类型)的独一无二的名称。 键永远不会被解释为…好吧,任何东西:它们只是惰性名称。 此外,当处理集群或分片系统时,它是定义包含此数据的节点(或者如果有从节点的节点)的关键 - 因此键对于路由命令是至关重要的。 这与 值 形成对比; 值是单独(对于字符串数据)或分组对

  • 问题内容: 我们是否可以用一个键和两个值实现HashMap。就像HashMap一样? 还请告诉我(如果没有办法)通过其他任何方法来实现三个值的存储(以一个为键)的方法,对我有帮助吗? 问题答案: 你可以: 使用具有列表作为值的地图。 创建一个新的包装器类,并将该包装器的实例放置在地图中。。 使用类似类的元组(节省创建许多包装器)。。 并排使用多个地图。 例子 1.使用列表作为值进行映射 这种方法的

  • 我们用过的一些内置函数携带参数,即你提供给函数让它工作的一些值。比如,如果你想计算一个数的正弦值,你需要指定这个数是多少。因此sin函数使用一个double值作为参数。 一些函数携带一个以上的参数,如pow携带两个double参数,分别作为底数和幂。 注意,在所有这些例子中,我们不仅要指定参数的个数,还要指定参数的类型。所以当你写一个类定义时,发现参数列表指定了每个参数的类型,这应该没什么奇怪的。

  • 问题内容: 在Go中,有多种方法可以返回值或其片段。对于个人,我已经看到: 我了解两者之间的区别。第一个返回该结构的副本,第二个返回指向在函数内创建的结构值的指针,第三个期望传入现有结构并覆盖该值。 我已经看到所有这些模式都可以在各种情况下使用,我想知道关于这些的最佳实践是什么。什么时候使用?例如,第一个可能适用于小型结构(因为开销很小),第二个适用于较大的结构。第三,如果您想提高存储效率,因为您