我正在编写一个包含以下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', ...]
}
答案 0 :(得分:1)
首先创建一个ObjectMapper实例,然后使用参数中指定的值类型readValue()方法。你将获得映射的对象。
例如:
mapper = new ObjectMapper();
idObject = mapper.readValue(jsonpayload.getBytes(), mapClass);
同样有效的JSON看起来像这样:
{
"ids" : ["id1", "id2"]
}