0

我有以下代码:

@RequestMapping(value = "/checkInventory", consumes = "application/json", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<?> checkInventory (
    // HEADERS
    @RequestBody CheckInventoryRequest checkInventoryRequest) throws Exception {

    // HEADERS LOGIC

    CheckInventoryResponse checkInventoryResponse  = new CheckInventoryResponse();

JSON

{
  "supplier": "foo",
  "supplierName": "ads",
  "supplierLocation": "123",
  "site": "goo",
  "product": [
    {
      "lineItem": 1,
      "manufacturer": "TEST",
      "partNumber": "123",
    },
    {
      "lineItem": 2,
      "manufacturer": "TEST 2",
      "partNumber": "3456",
    }
  ]
}

我可以使用常规值填充 POJO,但是如何ArrayList使用该product部件制作另一个?

我需要做一些数据库检查,JSON但我不知道如何保存ArrayList.

heckInventoryResponse

import java.io.Serializable;

public class CheckInventoryResponse implements Serializable {

    private String site;
    private String supplier;
    private String supplierLocation;
    private String supplierName;

    private String lineItem;
    private String manufacturer;
    private String partNumber;

    public String getSite() {
        return site;
    }
    public void setSite(String site) {
        this.site = site;
    }
    public String getSupplier() {
        return supplier;
    }
    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }
    public String getSupplierLocation() {
        return supplierLocation;
    }
    public void setSupplierLocation(String supplierLocation) {
        this.supplierLocation = supplierLocation;
    }
    public String getSupplierName() {
        return supplierName;
    }
    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getLineItem() {
        return lineItem;
    }
    public void setLineItem(String lineItem) {
        this.lineItem = lineItem;
    }
    public String getManufacturer() {
        return manufacturer;
    }
    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }
    public String getPartNumber() {
        return partNumber;
    }
    public void setPartNumber(String partNumber) {
        this.partNumber = partNumber;
    }
}

这是我的 POJO 课程。每当调用我的端点时都可以填充它,但我似乎无法弄清楚如何使用产品部分。

4

2 回答 2

2

您可以为产品创建一个类,其中将包含有关产品的详细信息。尝试以下课程:

class CheckInventoryRequest implements Serializable{
    private String supplier;
    private String supplierName;
    private String supplierLocation;
    private String site;
    private List<Product> product;

    public CheckInventoryRequest() {
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierLocation() {
        return supplierLocation;
    }

    public void setSupplierLocation(String supplierLocation) {
        this.supplierLocation = supplierLocation;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }

    public List<Product> getProduct() {
        return product;
    }

    public void setProduct(List<Product> product) {
        this.product = product;
    }

}

class Product implements Serializable{
    private Integer lineItem;
    private String manufacturer;
    private String partNumber;

    public Product() {
    }


    public Integer getLineItem() {
        return lineItem;
    }

    public void setLineItem(Integer lineItem) {
        this.lineItem = lineItem;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getPartNumber() {
        return partNumber;
    }

    public void setPartNumber(String partNumber) {
        this.partNumber = partNumber;
    }

}

此外,json 字符串无效,它有额外的,. 有效的 json 是

{
    "supplier": "foo",
    "supplierName": "ads",
    "supplierLocation": "123",
    "site": "goo",
    "product": [
        {
            "lineItem": 1,
            "manufacturer": "TEST",
            "partNumber": "123"
        },
        {
            "lineItem": 2,
            "manufacturer": "TEST 2",
            "partNumber": "3456"
        }
    ]
}
于 2020-06-12T06:24:34.280 回答
1

将产品作为一个单独的类,然后在这个类中创建一个项目

List<Product> products = new ArrayList<Product>();

使用 getter 和 setter

于 2020-06-12T06:24:56.947 回答