在java服务的前后端交互中,经常有类似这样的需求:
一般我们可以通过Jackson提供的几个注解来实现上述需求
代码如下(示例):
@JsonInclude(Include.NON_EMPTY)
public class AppCollect{
//标识符
private String eid;
//创建时间
private Date createtime;
//用户id
private String userId;
//应用编号
private String appCode;
//排序
private Integer sort;
//创建人
private String createuid;
//企业ID
private String ecompanyid;
//删除标识
private Integer delflag;
}
@JsonInclude(Include.NON_EMPTY) 这样,字段值为空或者null,就不会返回该字段了
代码如下(示例):
@JsonInclude(Include.NON_EMPTY)
public class AppCollect{
//标识符
private String eid;
//创建时间
@JsonInclude(Include.ALWAYS)
private Date createtime;
//用户id
private String userId;
//应用编号
private String appCode;
//排序
private Integer sort;
//创建人
private String createuid;
//企业ID
private String ecompanyid;
//删除标识
private Integer delflag;
}
@JsonInclude(Include.ALWAYS) 这样,字段值为空或者null,就不会返回该字段了,但是createtime 字段一定会有
代码如下(示例):
@JsonInclude(Include.NON_EMPTY)
public class AppCollect{
//标识符
private String eid;
//创建时间
@JsonInclude(Include.ALWAYS)
private Date createtime;
//用户id
@JsonIgnore
private String userId;
//应用编号
private String appCode;
//排序
private Integer sort;
//创建人
private String createuid;
//企业ID
private String ecompanyid;
//删除标识
private Integer delflag;
}
@JsonIgnore 这样,userId就一定不会被返回到前端了
Jackson 还有很多其他注解,也都是非常实用的;
比如: