SpringBoot中静态方法返回CommonResult为空的原因是什么?
spring boot 以静态方法返回为空的原因
在 spring boot 应用程序中,使用控制器方法返回 monresult 类型的对象时,返回结果可能出现为空的情况。这是由于 monresult 中的 data 属性默认设置为私有访问。
为了解决这个问题,需要将 monresult 中的 data 属性设置为公共访问权限,或者提供一个公共的 getter 方法来获取 data 值。
修改 monresult 类
修改 monresult 类如下:
public class monresult<t> 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 <k> monresult<k> success(k input_data) { monresult<k> result = new monresult<>(); result.code = code_success; result.data = input_data; result.message = ""; return result; }}
修改控制器方法
修改控制器方法返回类型,使用 monresult 的公共 data 字段:
@getmapping("/get2")public monresult<uservo> get2(@requestparam("id") integer id) { uservo user = new uservo().setid(id).setusername(uuid.randomuuid().tostring()); // 返回结果 return monresult.success(user).data; // 使用 monresult 的公共 data 字段}
通过这些修改,使用静态方法返回 monresult 对象时即可正常返回 data 值:
{ "code": 0, "message": "", "data": { "id": 3, "username": "1e29a45d-6363-43b3-a08d-3989ea70d1ae" }}
以上就是Spring Boot中静态方法返回CommonResult为空的原因是什么?的详细内容,更多请关注范的资源库其它相关文章!