暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

解决后端忽略实体类中的某个属性不返回给前端的两种方法

小王博客基地 2023-02-06
1613

一、前言

接收到的需求:我们前端只需要id、name、gender,phone不需要给前端。
一开始想法直接重新写一个VO,属性里去掉phone,这样一下多了个文件,显然不是我们想要的!接下来教你两种方式实现一下哦!!

二、导入maven

<!-- 第一种:jackson-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
</dependency>

<!-- 第二种:fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.69</version>
</dependency>

复制

三、不使用之前效果展示

在这里插入图片描述

四、期望

在这里插入图片描述

五、Jackson实现

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

import java.io.Serializable;

@Data
public class Test implements Serializable {
    private static final long serialVersionUID = 337361630075002456L;

    private String id;

    private String name;

    private String gender;

    @JsonIgnore
    private String phone;

}

复制

六、Fastjson实现

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.io.Serializable;

@Data
public class Test implements Serializable {
    private static final long serialVersionUID = 337361630075002456L;

    private String id;

    private String name;

    private String gender;

    @JSONField(serialize = false)
    private String phone;

}

复制




两个不要一起使用,不然不起作用


其中fastjson这样还不起作用,我们需要在启动项里配置一下  

@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fastConverter.setFastJsonConfig(fastJsonConfig);
    HttpMessageConverter<?> converter = fastConverter;
    return new HttpMessageConverters(converter);
}

复制

七、总结

这样就可以解决忽略某些属性不返回给前端展示了,对你有用点个赞呗!!!


文章转载自小王博客基地,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论