springboot 修改 vo 改变返回值

本文讲述了在面临修改业务代码以处理0值显示为1的需求时,从数据库、Service到VO构造方法的各种考虑,最终发现SpringBoot的JSON转换机制可以直接通过修改get方法来实现需求。这个过程强调了理解框架知识和发散思维的重要性,提醒开发者要全面考虑代码改动的影响,并不断学习新技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.背景

  • 公司中有一个业务,返回的 vo 中的一个值可能为 0 属性,如果为 0 给用户显示成 1;
  • 听起来很简单,直接改代码 service 层的代码就行了,但是如果 service 层的逻辑复杂到一定程度,想要改动就不是那么容易了,如图:
    在这里插入图片描述
    考虑对 rpc 接口返回的影响、 es 数据库(我们 es 要求存的数据尽量好数据库一样)的影响,是典型牵一发而动全身;

2.过程

  • 我写了一版上面图上的改动,反复校验确定影响,做好回归测试准备之后,提交上了代码,并跟领导阐述了影响范围;
  • 领导眉头一皱,你还是改 vo 吧;我问怎么改,领导说你尝试改构造方法什么的,然后我尝试改构造方法,但是代码写的还是太恶心了,又提交了上去;
  • 然后领导给我发了篇博客,关于直接改 get 方法的。这时我恍然大悟
  • springboot 返回 json 用的 jsonConverter 返回对象属性的时候直接调的 get 方法,直接把 get 方法改了就行了

3.最终

在这里插入图片描述

4.感想

  • 这种需求,可以改数据库,外一层可以改 service ,外一层可以改 vo 的构造方法,但是这是业务层面的视角,并没有引入框架的视角,springboot 框架 json 解析相当于是再外一层的视角;
  • 以后要多了解框架知识,也要有更发散的思维,比如再再外一层可以改 nginx (虽然不太可能,但是要发散思想),知识储备也很重要;要学的东西还是很多,学到的东西也很多;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值