gpt4 book ai didi

java - 如何将列表(数组)参数从浏览器传递给 Rest Ws

转载 作者:行者123 更新时间:2023-11-30 07:54:44 31 4
gpt4 key购买 nike

我有像 pathparam 这样的 Rest WS

@Path("/myService/{types}")
public Response myFunction(@Context HttpServletRequest request
,@PathParam("types")String[] types)
{
Criteria criteria = session.createCriteria(myObject.class);
criteria.add(Restrictions.in("tranType", types));
List<myObject> lst= (List<myObject>) criteria.list()
}

或者可能有 ArrayList 或 List 的地方是 String[]

我正在尝试从浏览器调用此 WS。当我使用数组中的 1 个参数调用它时,它工作正常。 WS 调用类似于 /myService/type1。但是当我想用数组中的 2 个或更多参数调用它时,它不起作用。响应是空数组,但它必须返回填充数组。我用许多参数调用 WS,例如 /myService/type1,type2 但它不起作用,我也尝试了 /myService/{type1,type2}/myService/[type1,type2]/myService/["type1","type2"]/myService/"type1","type2" 但不幸的是没有任何效果。你能告诉我我该怎么做吗?

最佳答案

正如我在评论中提到的,最简单的方法是将路径参数作为 String 接受,然后根据您的分隔符将其拆分,例如代码中的 ,

以下是您修改后的代码,显示了上述机制:-

    @Path("/myService/{types}")
public Response myFunction(@Context HttpServletRequest request
,@PathParam("types")String type)
{
Criteria criteria = session.createCriteria(myObject.class);
String [] types = type.split(",");
criteria.add(Restrictions.in("tranType", types));
List<myObject> lst= (List<myObject>) criteria.list()
}

如果您有其他问题,请告诉我。

关于java - 如何将列表(数组)参数从浏览器传递给 Rest Ws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43754585/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com