spring boot 以静态方法返回数据为空的原因是,返回的 commonresult 对象中对数据字段使用了私有访问权限。
在 commonresult 类中,data 字段被声明为 private。这意味着只有该类中的方法才能访问该字段。在 success() 静态方法中,data 字段被赋值,但由于是私有的,因此无法通过返回的 commonresult 对象访问。
为了以 json 格式返回数据,需要使用一个带有 @jsonignore 注解的 getter 方法来暴露私有字段。在 commonresult 类中添加以下 public getter 方法:
@jsonignore(false) public t getdata() { return data; }
添加此 getter 方法后,jackson 就能将 data 字段序列化为 json 并将其包含在响应中,从而得到预期的结果:
{ "code": 0, "message": "", "data": { "id": 3, "username": "1e29a45d-6363-43b3-a08d-3989ea70d1ae" } }