前后端分离使用Jackson或者fastjson解决后端忽略实体类中的某个属性不返回给前端的方法【亲测有用】

本文介绍了如何在Java后端中使用Jackson和Fastjson库来忽略特定属性,避免在响应JSON中暴露给前端。通过在实体类中使用`@JsonIgnore`或`@JSONField(serialize=false)`注解,可以轻松地隐藏`phone`字段。此外,对于Fastjson,还需要在启动配置中进行额外设置以使其生效。
摘要由CSDN通过智能技术生成

一、前言

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

七、总结

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

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掉发的小王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值