赞
踩
@Data // 定义一个返回值对象 public class R<T> implements Serializable { private int code; private T data; private String message; private String description; public R(int code, T data) { this.code = code; this.data = data; } public R(int code, T data, String message) { this.code = code; this.data = data; this.message = message; } public R(int code, T data, String message, String description) { this.code = code; this.data = data; this.message = message; this.description = description; } public R(ErrorCode errorCode){ this(errorCode.getCode(), null, errorCode.getMessage(), errorCode.getDescription()); } }
为什么设置getter方法和进行序列化呢?这个响应体有关。
在响应前,常常会设置一个响应头为contentType:“application/json”。
因此,spring会将返回的对象转换为json字符串给前端,这个过程在org.springframework.http.converter.HttpMessageConverter接口的实现类中完成的。
将对象转换为json字符串,通过反射获取对象的全部属性,并通过getter获取属性值。到这里,就可以完全理解这个异常生成的原因了。
写此文章,真勾八累。自省共勉。有收获就点个赞吧!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。