Springboot 接口为null的值不返回对应的key

文章讨论了在前后端交互中,如何处理后端返回的null值key问题。通过使用@JsonInclude注解,可以动态控制JSON序列化时是否包含null值字段,简化前端处理逻辑。Include.NON_DEFAULT,Include.NON_EMPTY和Include.NON_NULL是三种常用的策略,分别对应不同的序列化条件。
摘要由CSDN通过智能技术生成

偶然听到两个应届生一段对话,一个后端,一个前端 。


前端: 大哥,你没有值就不要返回那个key行不行?

后端: 什么我看看。

后端: 这是本来返回值实体有的,不是必填,所以null没数据返回去了很正常的。

前端: 哎,我这搞得好麻烦,你能去掉吗?

后端: 搞不了啊,除非我返回那个map,这样我代码走读要被大哥怼的。

前端:那算了,就先这样吧,好别扭。

搞不了吗?

没有值就不要返回key,搞不了吗?

答: 能 。

我们可以写个自定义注解 +aop 解决, 这样去实现更动态地指定,哪些字段为null 不需要返回key,我们就给字段加上注解。

方案确实不错,但是有人帮我们实现了。

@JsonInclude 注解

 挑几个常用的说下:

Include.Include.ALWAYS 默认 
Include.NON_DEFAULT 属性为默认值不序列化 
Include.NON_EMPTY 属性为 空('') 或者为 NULL 都不序列化 
Include.NON_NULL 属性为NULL 不序列化 

 使用示例:


 效果:


好了,就到这。

在Element Plus中,上传图片并获取后端返回通常涉及使用组件`el-upload`以及与后端API的交互。以下是一个简单的步骤概述: 1. 引入依赖:首先,在你的Vue项目中安装Element Plus的`el-upload`组件,如果还没有安装,可以使用npm或yarn进行安装: ```bash npm install element-plus uploadjs axios (可选,用于发送HTTP请求) # 或者 yarn add element-plus uploadjs axios ``` 2. 组件配置:在你的Vue组件中,设置`el-upload`组件,包括选择文件、上传处理和接收后端响应: ```html <template> <el-upload :action="uploadUrl" :on-change="handleChange" :on-success="handleSuccess" :on-error="handleError" :auto-upload="false" > <el-button slot="trigger">选取文件</el-button> <p slot="tip" v-if="fileList.length">已选择{{ fileList.length }}张图片</p> </el-upload> </template> <script> import { ElUpload, Upload } from "element-plus"; import axios from "axios"; export default { components: { ElUpload, }, data() { return { uploadUrl: "your-backend-api-url", // 替换为你的后端图片上传接口地址 fileList: [], }; }, methods: { handleChange(file) { this.fileList.push(file); }, handleSuccess(response, file) { // response是你从后端接收到的数据,可能是图片URL或者一个包含信息的对象 console.log("上传成功", response); // 在这里处理后端返回,并根据需要更新状态或做其他操作 }, handleError(error, file) { console.error("上传失败", error); // 处理上传错误 }, }, }; </script> ``` - `onChange`事件触发时,文件会被添加到`fileList`数组中。 - `onSuccess`事件会在上传成功后被调用,你可以在这里处理后端返回的响应数据,例如将图片URL赋给组件状态。 - `onError`事件则处理上传失败的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小目标青年

对你有帮助的话,谢谢你的打赏。

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

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

打赏作者

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

抵扣说明:

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

余额充值