返回顶部
首页 > 资讯 > 精选 >java只返回实体类中的部分字段问题如何解决
  • 397
分享到

java只返回实体类中的部分字段问题如何解决

2023-07-06 13:07:44 397人浏览 薄情痞子
摘要

这篇文章主要介绍了只返回实体类中的部分字段问题如何解决,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。如何只返回实体类中的部分字段在实体类上添加注解@JSONInclude(jsonInclude.Include.NON_

这篇文章主要介绍了只返回实体类中的部分字段问题如何解决,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。

如何只返回实体类中的部分字段

在实体类上添加注解

@JSONInclude(jsonInclude.Include.NON_EMPTY)

表示实体类中为null,空字符串,空集合数组等内容不会被序列化,即不会返回字段和值。

以下为对注解所有取值的简介

ALWAYS // 默认策略,任何情况都执行序列化NON_NULL // 非空NON_ABSENT // null的不会序列化,但如果类型是AtomicReference,依然会被序列化NON_EMPTY // null、集合数组等没有内容、空字符串等,都不会被序列化NON_DEFAULT // 如果字段是默认值,就不会被序列化CUSTOM // 此时要指定valueFilter属性,该属性对应一个类,用来自定义判断被JsonInclude修饰的字段是否序列化USE_DEFAULTS // 当JsonInclude在类和属性上都有时,优先使用属性上的注解,此时如果在序列化的get方法上使用了JsonInclude,并设置为USE_DEFAULTS,就会使用类注解的设置

java动态添加实体类字段并返回给前端

工具

package com.bless.wms.utils;import lombok.extern.slf4j.Slf4j;import org.apache.commons.beanutils.PropertyUtilsBean;import org.springframework.cglib.beans.BeanGenerator;import org.springframework.cglib.beans.BeanMap;import java.beans.PropertyDescriptor;import java.lang.reflect.InvocationTargetException;import java.util.HashMap;import java.util.Map;@Slf4jpublic final class PropertyAppender {    private static final class DynamicBean {        private Object target;        private BeanMap beanMap;        private DynamicBean(Class superclass, Map<String, Class> propertyMap) {            this.target = generateBean(superclass, propertyMap);            this.beanMap = BeanMap.create(this.target);        }        private void setValue(String property, Object value) {            beanMap.put(property, value);        }        private Object getValue(String property) {            return beanMap.get(property);        }        private Object getTarget() {            return this.target;        }                private Object generateBean(Class superclass, Map<String, Class> propertyMap) {            BeanGenerator generator = new BeanGenerator();            if (null != superclass) {                generator.setSuperclass(superclass);            }            BeanGenerator.addProperties(generator, propertyMap);            return generator.create();        }    }    public static Object generate(Object dest, Map<String, Object> newValueMap) throws InvocationTargetException, IllegalAccessException {        PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean();        //1.获取原对象的字段数组        PropertyDescriptor[] descriptorArr = propertyUtilsBean.getPropertyDescriptors(dest);        //2.遍历原对象的字段数组,并将其封装到Map        Map<String, Class> oldKeyMap = new HashMap<>();        for (PropertyDescriptor it : descriptorArr) {            if (!"class".equalsIgnoreCase(it.getName())) {                oldKeyMap.put(it.getName(), it.getPropertyType());                newValueMap.put(it.getName(), it.getReadMethod().invoke(dest));            }        }        //3.将扩展字段Map合并到原字段Map中        newValueMap.forEach((k, v) -> oldKeyMap.put(k, v.getClass()));        //4.根据新的字段组合生成子类对象        DynamicBean dynamicBean = new DynamicBean(dest.getClass(), oldKeyMap);        //5.放回合并后的属性集合        newValueMap.forEach((k, v) -> {            try {                dynamicBean.setValue(k, v);            } catch (Exception e) {                log.error("动态添加字段【值】出错", e);            }        });        return dynamicBean.getTarget();    }}

调用

java只返回实体类中的部分字段问题如何解决

前端接口调用测试

java只返回实体类中的部分字段问题如何解决

备注:前端表格直接for循环动态渲染就OK了

以上就是只返回实体类中的部分字段问题如何解决的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎来编程网精选!

--结束END--

本文标题: java只返回实体类中的部分字段问题如何解决

本文链接: https://lsjlt.com/news/358570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java只返回实体类中的部分字段问题如何解决
    这篇文章主要介绍了只返回实体类中的部分字段问题如何解决,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。如何只返回实体类中的部分字段在实体类上添加注解@JsonInclude(JsonInclude.Include.NON_...
    99+
    2023-07-06
  • 如何只返回实体类中的部分字段问题
    目录如何只返回实体类中的部分字段在实体类上添加注解以下为对注解所有取值的简介java动态添加实体类字段并返回给前端工具类调用前端接口调用测试总结如何只返回实体类中的部分字段 在实体类...
    99+
    2023-05-20
    返回实体类字段 返回实体类部分字段 实体类的部分字段
  • MySql中的longtext字段的返回问题如何解决
    这篇文章主要介绍了MySql中的longtext字段的返回问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySql中的longtext字段的返回问题如何解决文章都会有所收获,下面我们一起来看看吧。M...
    99+
    2023-07-02
  • MySql中的longtext字段的返回问题及解决
    目录mysql中longtext字段的返回如下图所示解决方法Mysql中Text字段的范围汉字在utf8mb4中占用几个字符MySql中longtext字段的返回 最近开发中用到了longtext这种字段。在mysq...
    99+
    2022-07-05
    MySql中longtext字段 longtext字段返回 MySql的longtext
  • spring data jpa如何只查询实体部分字段
    需求 现在有一张article表,用来储存文章,对应的实体类如下: package com.qianyucc.blog.model; import lombok.*; impor...
    99+
    2024-04-02
  • springboot jpa之返回表中部分字段如何处理
    这篇文章主要介绍springboot jpa之返回表中部分字段如何处理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!springboot jpa返回表中部分字段使用springboot jpa操作数据库可以...
    99+
    2023-06-22
  • 解决json串和实体类字段不一致的问题
    这里我们对json串和实体类字段不一致的情况进行一个测试: 首先,我们建立一个实体类:这里简单定义了name,sex,age三个属性,以及get set tostring方法。 ...
    99+
    2024-04-02
  • mybatis 实体类字段大小写问题 字段获取不到值的解决
    目录mybatis实体类字段大小写问题 字段获取不到值解决办法推断踩坑mybatis 转换大小写问题解决方法mybatis实体类字段大小写问题 字段获取不到值 由于前期设计问题,项目...
    99+
    2024-04-02
  • springboot jpa之返回表中部分字段的处理详解
    目录springboot jpa返回表中部分字段jpa 自定义返回字段springboot jpa返回表中部分字段 使用springboot jpa操作数据库可以加快我们的开发效率,...
    99+
    2024-04-02
  • SpringBoot如何整合ES解析搜索返回字段问题
    这篇文章主要讲解了“SpringBoot如何整合ES解析搜索返回字段问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot如何整合ES解析搜索返回字段问题”吧!1. 数据构造...
    99+
    2023-07-06
  • 如何解决mybatis-plus实体类中出现非数据库映射字段的问题
    本篇内容主要讲解“如何解决mybatis-plus实体类中出现非数据库映射字段”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决mybatis-plus实体类中出现非数据库映射字段”吧!在使...
    99+
    2023-06-07
  • 解决Mybatis plus实体类属性与表字段不一致的问题
    下面看下Mybatis plus实体类属性与表字段不一致的问题,内容如下所示: 主要注释到实体类上的注解: @TableName(value = …)当数据库名与实体类...
    99+
    2024-04-02
  • 如何解决mybatis-plus实体类中字段和数据库中字段名不对应
    这篇文章主要介绍“如何解决mybatis-plus实体类中字段和数据库中字段名不对应”,在日常操作中,相信很多人在如何解决mybatis-plus实体类中字段和数据库中字段名不对应问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-07
  • 如何解决axios返回空对象的问题
    这篇文章主要介绍如何解决axios返回空对象的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题描述:使用 axios 请求数据的时候,已经请求成功,返回的参数也正确。但打印出来...
    99+
    2024-04-02
  • 如何解决JQuery ajax中error返回错误及一直返回error的问题
    本篇文章为大家展示了如何解决JQuery ajax中error返回错误及一直返回error的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。进入百度搜索此问题,发...
    99+
    2024-04-02
  • json串和实体类字段不一致如何解决
    本篇文章给大家分享的是有关json串和实体类字段不一致如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先,我们建立一个实体类:这里简单定义了name,sex,age三个...
    99+
    2023-06-14
  • 如何解决SSM Mapper文件查询出返回数据查不到个别字段的问题
    这篇文章将为大家详细讲解有关如何解决SSM Mapper文件查询出返回数据查不到个别字段的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SSM Mapper查询出返回数据查不到个别字段原因开...
    99+
    2023-06-28
  • 如何解决php curl 没有返回值的问题
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。如何解决php curl 没有返回值的问题php使用curl访问https返回无结果的问题最近在做一个微信自动登录,发起验证以后回调页面获取openid时 curl函数...
    99+
    2015-01-22
    php curl
  • 如何解决Shell中函数返回值超出问题
    这篇文章主要介绍“如何解决Shell中函数返回值超出问题”,在日常操作中,相信很多人在如何解决Shell中函数返回值超出问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决Shell中函数返回值超出问题...
    99+
    2023-06-09
  • java返回json请求中文变成问号的问题及解决
    目录java返回json请求中文变成问号json返回中文全是问号java返回json请求中文变成问号 原来在个人项目时,用layui的数据表格获取数据时,不会出现中文变问号问题 后来...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作