spring boot 以静态方法返回为空的原因

在 spring boot 应用程序中,使用控制器方法返回 commonresult 类型的对象时,返回结果可能出现为空的情况。这是由于 commonresult 中的 data 属性默认设置为私有访问。

为了解决这个问题,需要将 commonresult 中的 data 属性设置为公共访问权限,或者提供一个公共的 getter 方法来获取 data 值。

修改 commonresult 类

修改 commonresult 类如下:

public class commonresult implements serializable {
    public static integer code_success = 0;

    private integer code;
    private string message;
    public t data; // data 的访问权限由 private 改为 public

    public integer getcode() {
        return code;
    }

    public string getmessage() {
        return message;
    }

    public static  commonresult success(k input_data) {
        commonresult result = new commonresult<>();
        result.code = code_success;
        result.data = input_data;
        result.message = "";
        return result;
    }
}
登录后复制

修改控制器方法

修改控制器方法返回类型,使用 commonresult 的公共 data 字段:

@getmapping("/get2")
public commonresult get2(@requestparam("id") integer id) {
    uservo user = new uservo().setid(id).setusername(uuid.randomuuid().tostring());
    // 返回结果
    return commonresult.success(user).data; // 使用 commonresult 的公共 data 字段
}
登录后复制

通过这些修改,使用静态方法返回 commonresult 对象时即可正常返回 data 值:

{
  "code": 0,
  "message": "",
  "data": {
    "id": 3,
    "username": "1e29a45d-6363-43b3-a08d-3989ea70d1ae"
  }
}
登录后复制

以上就是Spring Boot中静态方法返回CommonResult为空的原因是什么?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部