You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

微服务Many-to-One关联数据在Postman中未正常显示问题

问题解决:接口返回JSON中rentalType为空对象

问题原因

调试时能获取到RentalType的具体值,但返回JSON时为空对象,核心原因是RentalType实体类缺少Getter方法——Jackson序列化工具依赖Getter方法读取类的属性值,没有这些方法就无法将属性转化为JSON字段,最终输出空对象{}。

查看你的RentalType代码,仅添加了@NoArgsConstructor和@AllArgsConstructor注解,未提供属性的访问方法,导致序列化失败。

解决方案

给RentalType实体类添加Getter/Setter方法,有两种实现方式:

方式1:使用Lombok注解(推荐)

在RentalType类上添加@Getter和@Setter注解,Lombok会自动生成对应的方法:

@Entity
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Table(name="rental_type",schema="bnb_pms")
public class RentalType {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="TYPE_ID")
private long typeId;

    @Column(name="TYPE_NAME")
private String typeName;

}

方式2:手动编写Getter方法

如果不使用Lombok,手动为每个属性添加Getter方法:

@Entity
@NoArgsConstructor
@AllArgsConstructor
@Table(name="rental_type",schema="bnb_pms")
public class RentalType {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="TYPE_ID")
private long typeId;

    @Column(name="TYPE_NAME")
private String typeName;

    public long getTypeId() {
        return typeId;
    }

    public String getTypeName() {
        return typeName;
    }

    // 可选:如果需要修改属性,添加Setter方法
    public void setTypeId(long typeId) {
        this.typeId = typeId;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }
}

验证修改

修改后重启服务,调用接口即可看到rentalType字段正常返回属性值,示例返回结果:

{
     "rentalId": 453,
     "rentalName": "Ehsan ulhaq Darrr1659",
     "internalName": "Khadim Hussain Dar",
     "des": "ehsandar@gmail.com",
     "rentalType": {
         "typeId": 1,
         "typeName": "Apartment"
     },
     "rentalSize": 2,
     "guestAccomodate": 4,
     "totalUnits": 3
 }

内容的提问来源于stack exchange,提问作者Ehsan-ul-haq Dar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 04:57:07