接受不同类型的JSON数组输入?

时间:2014-04-25 15:49:36

标签: java json rest jersey jax-rs

我有一个JAX-RS / Jersey项目,我想让我的客户更轻松。

目前服务的POST主体是这样的:

POST http://localhost:7101/account/2274321/pieces/
{
    "piePieceIds": [
        1
    ],
    "cakePieceIds": [
        2
    ],
    "splitName": "Split"
}

我可以使用

将数组映射到输入对象
private List<Long> piePieceIds;
private List<Long> cakePieceIds;

这很好用。但是,客户要求进行更改以使她的生活更轻松:

POST http://localhost:7101/account/2274321/pieces/
{
    "piePieceIds": [
        {
            "piePieceId": 1
        }
    ],
    "cakePieceIds": [
        {
            "cakePieceId": 2
        }
    ],
    "splitName": "Split"
}

我如何为每个数组建模以获得正确的输入?

1 个答案:

答案 0 :(得分:2)

创建POJO

public class PiecePie {
    private Long piePieceId;
    // getters and setters
}

并使用

private List<PiecePie> piePieceIds;

对另一个领域做同样的事情。