【发布时间】:2019-06-21 03:47:28
【问题描述】:
尝试从控制器类输出 JSON 响应时出现以下错误。
org.springframework.http.converter.HttpMessageNotWritableException: 无法编写 JSON:属性的 getter 定义冲突 “产品 ID”: com.kd.hub.core.entities.PosProduct#getProductId(0 params) vs com.kd.hub.core.entities.PosProduct#getProductName(0 params); 嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException:冲突 属性“product_id”的 getter 定义: com.kd.hub.core.entities.PosProduct#getProductId(0 params) vs com.kd.hub.core.entities.PosProduct#getProductName(0 params) 在 org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:296)
我的 Product.kt 文件
@Entity
@Table(name = "sm_pos_product")
data class PosProduct(
@Id @GeneratedValue(strategy = GenerationType.AUTO) @JsonProperty("product_id") var productId : UUID = UUID.randomUUID(),
@Column(name = "product_name") @JsonProperty("product_id") var productName : String ?= null,
@Column(name = "strength") @JsonProperty("strength") var strength : String? = null,
@Column(name = "manufacturer") @JsonProperty("manufacturer") var manufacturer : String? = null,
@Column(name = "display_name") @JsonProperty("display_name") var displayName : String? = null,
// Stock Keeping Units
@Column(name = "sku_identifier") @JsonProperty("sku_identifier") var skuName : String? = null,
@Column(name = "sku_id") @JsonProperty("sku_id") var skuID : String ?= null,
// Master Stock
@Column(name = "sellable_stock") @JsonProperty("sellable_stock") var sellableStock : Double ?= 0.0,
@Column(name = "returned_stock") @JsonProperty("returned_stock") var returnedStock : Double ?= 0.0,
@Column(name = "expired_stock") @JsonProperty("expired_stock") var expiredStock : Double ?= 0.0
);
【问题讨论】: