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


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

方法一

在实体类上加上添加注解@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集合同样有效


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM