一、前言

接收到的需求:我们前端只需要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);
}

七、总结

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

Q.E.D.