我想做一个Web服务,你可以在那里查询通用数据。所以,我的URL应该是这样的:.../字段名称/国家/字段值/美国/字段名称/城市/字段值/波士顿我想得到一个字段名数组和一个对应的字段值数组。
6psbrbz91#
这似乎更适合查询参数,而不是上面的url参数。您的网址将类似于:
/query?Country=US&City=Boston&City=Chicago
JAX-RS通过将多个查询参数Map到端点中的Collection来支持同名的多个查询参数,如下所示:
@GET @Path("/query") public String queryValues(@QueryParam("Country") List<String> countries, @QueryParam("City") List<String> cities) { // Do work here }
如果查询参数是完全动态的,并且直到运行时才知道它们是什么,则可以注入UriInfo对象并自己询问查询字符串。
UriInfo
@GET @Path("/query") public String queryValues(@Context UriInfo uriInfo) { // Do work here }
moiiocjp2#
关于您的查询,您也可以使用以下逗号分隔格式:
/query?Country=US&City=Boston,Chicago
xghobddn3#
添加观察:对于Jersey 2.35 FormParam,它需要是City=Boston&City=芝加哥样式,然后可以成为列表或集合的元素。
逗号分隔的参数值(例如City=Boston,芝加哥)似乎不起作用。它将其作为单个值(用Postman测试)
3条答案
按热度按时间6psbrbz91#
这似乎更适合查询参数,而不是上面的url参数。
您的网址将类似于:
JAX-RS通过将多个查询参数Map到端点中的Collection来支持同名的多个查询参数,如下所示:
如果查询参数是完全动态的,并且直到运行时才知道它们是什么,则可以注入
UriInfo
对象并自己询问查询字符串。moiiocjp2#
关于您的查询,您也可以使用以下逗号分隔格式:
xghobddn3#
添加观察:对于Jersey 2.35 FormParam,它需要是City=Boston&City=芝加哥样式,然后可以成为列表或集合的元素。
逗号分隔的参数值(例如City=Boston,芝加哥)似乎不起作用。它将其作为单个值(用Postman测试)