zoukankan      html  css  js  c++  java
  • 有一个实体类,只想返还一部分字段给前端

    有一个实体类,只想返还一部分字段给前端

    方法一

    在实体类上加上添加注解@JsonIgnoreProperties({"value1","value2"})(jackson的注解)

    示例实体类

    @JsonIgnoreProperties({"value5","value6"})
    public class TestJacksonAnnotationBean {
    	private String value1;
    	
    	private String value2;
    	
    	private String value3;
    	
    	private String value4;
    	
    	private String value5;
    	
    	private String value6;
    	
    	// get、set方法
    }
    

    会返回如下数据格式

    {
    	"value1":"a",
    	"value2":"b",
    	"value3":"c",
    	"value4":"d"
    }
    

    方法二

    使用对象属性映射框架帮我们自动完成对象属性的映射,常见的有dozerSpring自带的BeanUtils

    1. 使用dozer

    数据源实体类

    public class TestJacksonAnnotationBean {
    	private String value1;
    	
    	private String value2;
    	
    	private String value3;
    	
    	private String value4;
    	
    	private String value5;
    	
    	private String value6;
    	
    	// get、set方法
    }
    

    新建一个实体类TestJacksonAnnotationBeanRes用来存储你想要返回的字段,例如

    public class TestJacksonAnnotationBeanRes {
    	private String value1;
    	
    	private String value2;
    	
    	private String value3;
    	
    	private String value4;
    	
    	// get、set方法
    }
    

    接着使用dozer来帮我们完成实体类属性的自动映射

    TestJacksonAnnotationBeanRes target = mapper.map(sourceBean, TestJacksonAnnotationBeanRes.class);
    
    1. 使用Spring自带的BeanUtils
    BeanUtils.copyProperties(sourceBean, targetBean);
    

    注意:

    1. 需要实体类字段名称相同

    2. 对List集合同样有效

  • 相关阅读:
    Python 一条语句如何在多行显示的问题
    代理模式
    MySQL workbench中的PK,NN,UQ,BIN,UN,ZF,AI说明
    异步加载 Echarts图的数据
    Web页面中两个listbox的option的转移
    半透明效果
    在地图上使图片透明
    加载图片方式
    获取鼠标坐标
    画笔与画刷
  • 原文地址:https://www.cnblogs.com/lmw97/p/12061806.html
Copyright © 2011-2022 走看看