【问题标题】:How can I pass an array data to Apache Wink controller using json如何使用 json 将数组数据传递给 Apache Wink 控制器
【发布时间】:2014-01-16 02:02:56
【问题描述】:

我正在编写一个包含以下 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) 我如何在服务器端

附:我在眨眼端使用 Jackson 作为 json 解析器。

提前致谢!


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

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

【问题讨论】:

    标签: java json apache jax-rs


    【解决方案1】:

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

    例如:

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

    一个有效的 JSON 也应该是这样的:

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

    【讨论】:

    • 谢谢你的回复,但我怕你没明白我的意思。我试图将数据从浏览器端传递到服务器端(apache wink),wink 控制器可以通过其参数接受 http 有效负载。如果我将一个对象传输到服务器,该对象将被自动解析为一个 Java 对象。但是现在,我们没有这样的对象,所以我正在寻找另一种解决方案。
    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 2021-03-01
    • 2016-01-04
    • 2017-06-08
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 2018-09-25
    相关资源
    最近更新 更多