如何使用json将数组数据传递给Apache Wink控制器

时间:2014-01-16 02:02:56

标签: java json apache jax-rs

我正在编写一个包含以下API的apache wink控制器:

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

我能够使用 @QueryParam(“ids”)注释传递参数,但是当数组太长时,这可能会超出URL长度限制。因此,我想将一个json对象传递给控制器​​,我想知道 1)json对象应该是什么样的格式 2)我怎样才能收到json对象服务器端

P.S。我正在使用杰克逊作为json解析器。

提前致谢!


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

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

1 个答案:

答案 0 :(得分:1)

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

例如:

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

同样有效的JSON看起来像这样:

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