在REST API中处理子数据(数组)的最佳方法

时间:2015-10-21 11:13:07

标签: java json rest jersey

我正在开发Web API。 (使用java,jersey)(数据格式json)

以下是样本数据格式。

customerID
customerName
customerCity
products
    product1  quantity1
    product2  quantity2
    product3  quantity3

正如您在上面的数据中所看到的,产品是一个数组(产品和数量)。

为了提供这些数据(以json格式),我使用了POJO:

public class CustomerOrder
{
    private String customerID;
    private String customerName;
    private String customerCity;
    private ArrayList<Product> products;

    //getters & setters for above 4 variables

    public CustomerOrder() {}  //Constructor without parameter

    public CustomerOrder(....) {....}  //Constructor with above 4 parameter

    public class Product
    {
        private String product;
        private int quantity;

        //getters & setters for above 2 variables
    }
}

使用以上POJO:

ArrayList<CustomerOrder> customerOrderList = new ArrayList<CustomerOrder>();

ArrayList<Product> customerOrderProductList = new ArrayList<Product>();
//statements to add data in customerOrderProductList

//add data in customerOrderList
customerOrderList.add(
    customerID,
    customerName, 
    customerCity,
    customerOrderProductList
);

我的问题是,它是处理上述数据格式的最佳(标准)方式吗?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

是的,这是处理数据格式的标准方法。如果您真的想要,可以使用Product数组切换列表,但这确实没有必要。

除此之外,大多数json到POJO库(gson等)都不需要getter和setter - 你可以只声明变量public。