我使用Spring-data-rest创建RESTful API。我有一个实体;
@Entity
@Table(name = "pricingoptionsets")
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="@pricingOptionSetId") //To prevent fetch loops
public class PricingOptionSet {
//Region Properties
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="PricingOptionSetId", nullable=false, unique=true)
private Long pricingOptionSetId;
@ManyToOne
@JoinColumn(name = "ProductId")
private Product product;
现在在Getters&塞特斯,如果我有以下内容:
public Product getProducts() {
return product;
}
我在响应的JSON中收到产品信息。但如果吸气剂是:
public Product getProduct() {
return product;
}
然后不再包括产品信息:S
任何想法如何解决?顺便说一句,我正在使用扩展CRUDRepository的简单存储库
答案 0 :(得分:0)
这里的getProducts()是一种方法,所以你把它定义为getProducts()或getProduct()并不重要。
此处唯一可能发生的问题是,您使用此方法的实现也应根据方法名称进行更改。
试试这个,或者只是发布你的json响应,这样我们就可以弄清楚问题是什么,但这确定方法名称与响应变化没有任何关系。
答案 1 :(得分:0)
从你的json可以看出
{ "_embedded" : { "pricingOptionSets" : [ { "@pricingOptionSetId" : 1, "name"
: "AgentRate30", "products" : { "@productId" : 4, "productId" : 1, }
该属性应为products
,因此您需要将setter和getter设为getProducts
setProducts` - 当然,该字段也应该匹配
根据此回复https://stackoverflow.com/a/12583772/2310289
,您还可以考虑使用@jsonProperty
在你的情况下,它将是
@JsonProperty(value="products")
private Product product;