为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 json 负载中格式化 Map<Entity,integer>

如何在 json 负载中格式化 Map<Entity,integer>

偶然的你 2021-08-20 16:11:38
我正在尝试从客户端向 Rest/Api Spring Boot 后端发送实体“订单”。在 my 中OrderEntity,包含购买该订单产品的地图。我们正在尝试使用邮递员软件生成一个正确的 JSON 字符串,该字符串希望通过 post 请求附加到正文中。@ElementCollection@CollectionTable(name = "product.order", joinColumns = @JoinColumn(name = "order.id"))@MapKeyJoinColumn(name = "product.id")@Column(name = "quantity")//@JsonSerialize(keyUsing = ProdottoMapSerializer.class)@JsonDeserialize(keyUsing = ProdottoMapDeserializer.class)订单实体public OrderEntity(Map<ProductEntity, Integer> product, ClientEntity cliente,Integer id, String data, Float totale, String fattura) {        this.product = product;        this.client = client;        this.id = id;        this.data = data;        this.totale = totale;        this.fattura = fattura;    }@ManyToOneprivate ClientEntity cliente;产品实体public ProductEntity(Integer id, String nome, String descrizione, String categoria, Float prezzo, String foto,            Integer quantitaMagazzino, Integer spedizione_veloce) {        this.id = id;        this.nome = nome;        this.descrizione = descrizione;        this.categoria = categoria;        this.prezzo = prezzo;        this.foto = foto;        this.quantitaMagazzino = quantitaMagazzino;        this.spedizione_veloce = spedizione_veloce;    }我们在 post 请求中使用 json 尝试使用这种类型的主体:{    "id": 10,    "data": "2019-07-11 00:00:00",    "totale": null,    "fattura": null,    "product": {        "ProductEntity{id=4, nome='oneplus 6t', descrizione='smartphone', categoria='elettronica', prezzo=500.0, foto='', quantitaMagazzino=4, spedizione_veloce=0}": 2    },    "cliente": {        "id": 3    }}字段“product”有错误,我们写的格式不正确,就是这样的问题:"status": 400,"error": "Bad Request","message": "JSON parse error: For input string: \"ProductEntity{id=4, nome='oneplus 6t', descrizione='smartphone', category ='elettronica', prezzo=500.0, foto='', quantitaMagazzino=4, spedizione_veloce=0}\"; 嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

我认为您:在 ProductEntity中丢失了,这就是为什么它不能在映射中被解析为 obj 的原因。尝试让我知道它是否解决了问题,我还没有测试过。


{

    "id": 10,

    "data": "2019-07-11 00:00:00",

    "totale": null,

    "fattura": null,

    "product": {

        "ProductEntity: {id=4, nome='oneplus 6t', descrizione='smartphone', categoria='elettronica', prezzo=500.0, foto='', quantitaMagazzino=4, spedizione_veloce=0}": 2

    },

    "cliente": {

        "id": 3

    }

}


查看完整回答
反对 回复 2021-08-20
?
开满天机

TA贡献1786条经验 获得超13个赞

确保您的 ProductEntity 使用 @JsonDeserialize 进行注释并使用此 JSON 并查看它是否有效


  {

    "id": 10,

    "data": "2019-07-11 00:00:00",

    "totale": null,

    "fattura": null,

    "product": {

        "{id=4, nome='oneplus 6t', descrizione='smartphone', categoria='elettronica', prezzo=500.0, foto='', quantitaMagazzino=4, spedizione_veloce=0}": 2

     },

     "cliente": {

         "id": 3

     }

 }


查看完整回答
反对 回复 2021-08-20
  • 2 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信