泽西岛客户端:如何添加列表作为查询参数
我正在为具有List作为查询参数的GET服务创建Jersey客户。根据文档,可以将List作为查询参数(此信息也位于@QueryParam javadoc中),将其检出: 通常,方法参数的Java类型可以: 是原始类型; 有一个接受单个String参数的构造函数; 有一个名为valueOf或fromString的静态方法,该方法接受单个String参数(例如,请参见Integer.valueOf(String)和java.util.UUID.fromString(String));要么 是List,Set或SortedSet,其中T满足上面的2或3。结果集合为只读。 有时参数可能包含多个相同名称的值。如果是这种情况,则可以使用4)中的类型来获取所有值。 但是,我不知道如何使用Jersey客户端添加List查询参数。 我了解替代解决方案是: 使用POST而不是GET; 将List转换为JSON字符串,并将其传递给服务。 第一个不好,因为该服务的正确HTTP动词是GET。这是一个数据检索操作。 如果您不能帮我,第二个将是我的选择。:) 我也在开发服务,因此我可以根据需要进行更改。 谢谢! 更新资料 客户端代码(使用json) Client client = Client.create(); WebResource webResource = client.resource(uri.toString()); SearchWrapper sw = new SearchWrapper(termo, pagina, ordenacao, hits, SEARCH_VIEW, navegadores); MultivaluedMap<String, String> params = new MultivaluedMapImpl(); params.add("user", user.toUpperCase()); params.add("searchWrapperAsJSON", (new Gson()).toJson(sw)); ClientResponse clientResponse = …