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


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

    方法一

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

  • 相关阅读:
    delphi 浮点 精度
    delphi 线程 TTask
    IOS 阻止 锁屏
    grideh SelectedRows Bookmark
    TBluetoothLE.OnDisconnectDevice
    TBluetoothLEDevice.UpdateOnReconnect
    判断字符串为空 为null
    delphi IOS 简单类型转换
    setKeepAliveTimeout
    IOS 后台之长时间任务 beginBackgroundTaskWithExpirationHandler 申请后台十分钟 600秒
  • 原文地址:https://www.cnblogs.com/lmw97/p/12061806.html
Copyright © 2020-2023  润新知