java - 如何使用 json 将数组数据传递到 Apache Wink Controller

标签 java json apache jax-rs

我正在编写一个 apache wink Controller ,其中包含以下 API:

@DELETE
@Consumes(MediaType.APPLICATION_JSON)
@Path("/users")
public void deleteUsers(List<String> ids) {
    // Delete users here.
    ...
}

我可以使用@QueryParam("ids")注释来传递参数,但是当数组太长时,这可能会超出URL长度限制。因此,我想将 json 对象传递给 Controller ​​,我想知道 1) json 对象应该采用哪种格式2) 如何在服务器端

附注我在 wink 端使用 Jackson 作为 json 解析器。

提前致谢!

<小时/>

我已经尝试将以下 json 传递给 wink,但它似乎不起作用:

{
   ids: ['id1', 'id2', ...]
}

最佳答案

首先是创建一个 ObjectMapper 实例,然后使用参数中指定的值类型创建 readValue() 方法。您将获得映射的对象。

例如:

mapper = new ObjectMapper();
idObject = mapper.readValue(jsonpayload.getBytes(), mapClass);

有效的 JSON 如下所示:

{
    "ids" : ["id1", "id2"]
}

关于java - 如何使用 json 将数组数据传递到 Apache Wink Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21152099/

相关文章:

java - 错误 org.apache.zookeeper.ClientCnxn - 调用 watcher 时出错

Weblogic 上的 Java EE 应用程序部署

java - 方法的输入参数为异常时的Mock语句

java - 如何正确转义 lucene 查询?

mysql - 测验分层数据的数据库结构?

java - 如何从概念上计算服务器可以服务的最大并发请求/负载?

spring - 如何以编程方式添加tomcat虚拟主机实例

java - Bukkit:设置一个 block 供电

c# - 获取类型 'where' 上的泛型方法 'System.Linq.Queryable' 与提供的类型参数和参数不兼容

objective-c - 如何在 Swift 或 Objective-C 中获取 JSON 数据结构的人类可读映射?