@JsonInclude树形后端返回时使用

419 阅读1分钟

属性结构中,如果无子类机构则不显示,即children不为空则显示,要不然就不展示了。解决了,树下没有子树但是会有个空白的占位的情况,可以使用:@JsonInclude(JsonInclude.Include.NON_EMPTY) 在此包下:com.fasterxml.jackson.annotation.JsonInclude


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

/**
 * 商品三级分类
 * 
 * @author yuhl
 * @email fsjwin@163.com
 * @date 2020-09-04 14:12:07
 */
@Data
@TableName("pms_category")
public class CategoryEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 分类id
	 */
	@TableId
	private Long catId;
	/**
	 * 分类名称
	 */
	private String name;
	/**
	 * 父分类id
	 */
	private Long parentCid;
	/**
	 * 层级
	 */
	private Integer catLevel;
	/**
	 * 是否显示[0-不显示,1显示]
	 */
	@TableLogic(value = "1",delval = "0")
	private Integer showStatus;
	/**
	 * 排序
	 */
	private Integer sort;
	/**
	 * 图标地址
	 */
	private String icon;
	/**
	 * 计量单位
	 */
	private String productUnit;
	/**
	 * 商品数量
	 */
	private Integer productCount;

	@JsonInclude(JsonInclude.Include.NON_EMPTY) //children不为空则显示,要不然就不展示了。解决了,树下没有子树但是会有个空白的占位的情况
	@TableField(exist=false) //树形展示用的,表中无此字段标识表中无次字段
	private List<CategoryEntity> children;


}
@JsonInclude(JsonInclude.Include.NON_EMPTY) //children不为空则显示,要不然就不展示了。解决了,树下没有子树但是会有个空白的占位的情况

可以有的取值:

    public static enum Include {
        ALWAYS,
        NON_NULL,
        NON_ABSENT,
        NON_EMPTY,
        NON_DEFAULT,
        CUSTOM,
        USE_DEFAULTS;

        private Include() {
        }
    }