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

Spring Boot REST接口返回空JSON对象,debug时实体有值是什么原因?

问题根因

你遇到的接口返回空JSON结构的问题,核心原因是Employee实体类没有为私有属性提供公共的getter方法。

Spring Boot web模块默认使用Jackson作为JSON序列化框架,Jackson默认只能对类的公共字段、或者带有公共getter方法的私有字段做序列化处理。你当前代码中Employee的所有属性都是private修饰,且没有对应的get方法,Jackson无法读取到属性的值,最终就会输出空的JSON对象。

修复方案

为Employee类的所有属性添加公共的getter方法即可,修改后的代码参考如下:

@Entity
@Table(name = "employee")
public class Employee {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "first_name")
    private String firstName;

    @Column(name = "last_name")
    private String lastName;

    @Column
    private String email;

    // 新增getter方法
    public int getId() {
        return id;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public String getEmail() {
        return email;
    }

    // 按需添加setter方法,如果涉及参数绑定等场景
    public void setId(int id) {
        this.id = id;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

如果你的项目引入了Lombok依赖,也可以直接在Employee类上添加@Data注解,会自动生成getter、setter、toString等通用方法,无需手动编写。


内容的提问来源于stack exchange,提问作者Alex Mi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:09:03