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

在Java中将数组作为参数传递的查询字符串的解析/解组

水焱
2023-03-14

是否有一种方法来解析/Unmar的查询字符串传递数组作为参数Java映射或自定义类?

网址示例:

localhost:8080/app/ws/categories?take=10

我需要像这样解析过滤器参数:

public class Filter {

private String logic;
private List<Filters> filters;

public class Filters {
    private String field;
    private String operator;
    private String value;
    }
}

还有一点 - 我在这里使用泽西岛,也许它有可能使用泽西岛的工具解析/取消马歇尔@QueryParam?

无论如何,任何其他Java解决方案也可以。

共有2个答案

施博文
2023-03-14

我们可以利用JAXRS 2.0规范中的@BeanParam来实现

public PageableResponse<PatientBundleType> getPatientBundles(@BeanParam final PageableBeanParam paging)
{
    ...
}

public class PageableBeanParam
{
    public PageableBeanParam(@Context final UriInfo uriInfo)
    {

        for (Entry<String, List<String>> param : params.entrySet())
        {
            String key = param.getKey();
            String value = param.getValue().iterator().next();

            if ("pageSize".equals(key))
            {
                setPageSize(Integer.valueOf(value));
            }

            ...
        }
    }
}
颛孙森
2023-03-14

我建议两件事:

要么你想执行一个GET,然后保持一个RESTful方法,我会有一个Url,比如:localhost:8080/app/ws/categories?take/10/skip/10/page/2/pageSize/10/filter/logic/and/...等等

或者POST是可以接受的,我会发送JSON有效负载

 类似资料:
  • 问题内容: 如何将下面的 字符串 转换为 数组 ? 这是我要寻找的阵列, 问题答案: 您需要该函数,并且需要设置第二个参数以将数据放入数组中,而不是放入单个变量中。

  • 问题内容: 我想将字符串数组作为参数传递给函数。请看下面的代码 代替: 但是如果我这样做,我会收到一条错误消息,指出将其转换为。我想知道是否可以传递这样的值,或者正确的方法是什么? 问题答案: 怎么样:

  • 如何在Kotlin中将字符串转换为字符串数组?为了证明这一点,我有: 我想把它转换成。

  • 问题内容: 是否存在通过查询字符串传递数组的标准方法? 需要明确的是,我有一个带有多个值的查询字符串,其中一个是数组值。我希望将该查询字符串值视为一个数组-我不希望该数组爆炸,以使其与其他查询字符串变量没有区别。 编辑: 根据@Alex的答案,没有标准的方法可以执行此操作,因此我的后续工作是什么才是 识别 我正在读取的参数同时是 PHP 和 Javascript 数组的简单方法? 用相同的名称命名

  • 我有一个字符串数组,如下所示: 拆分数组后,打印以下内容: 我得到的输出是: 我想要的是删除逗号、https和not'之类的单个字母的所有实例(在使用上面的方法之后)。所以我想以这个结束: 我试过像这样做replaceAll: 但这只是给了我相同的初始输出,没有任何变化。有什么想法吗?

  • 问题内容: 我想将数组作为参数传递给SqlQuerySpec,以便在构建对天蓝色的db数据库的查询时可以在IN表达式中使用它。我想做的是像我们对常规参数(字符串,整数等)所做的事情: 但是,这种方式是行不通的。我还有其他方法可以将数组作为参数传递吗?谢谢。 问题答案: 您的查询应如下所示: 那么您可以将其作为数组传递,并检查该数组是否包含文档中属性中具有的值。 参考: https://docs.m