『博客开发日记』之优化后端上传的数据及一些处理

本文最后更新于 2025年11月26日 晚上

优化后端上传的数据及一些处理


使用VO对后端上传的字段进行限制

目前的响应格式其实是不符合接口文档的标准的

因为他多返回了很多字段

这是因为我们查询出来的结果是Article来封装的

而Article中字段比较多

所有要用VO类来规范多少字段可以传到前端

在项目中要把VO来接受查询出来的结果用一个接口对应一个VO

这样即使接口响应字段要修改也只要改VO即可


先在Service中编写后续,再把循环封装调整


对字面值的处理

实际项目中都不允许直接在代码中使用字面值

都需要定义成常量来使用

这种方式有利于提高代码的可维护性


通过定义一个常量类来解决这个问题


封装Bean工具类

创建工具包,以后要使用的工具类都放在这个包下

对上面的Vo进行封装


因为有一些实体类只涉及一个字段而有些涉及多个字段,所以要分情况写

期望是在方法内部自己去创建Vo对象,通过传入参数来实现(通过Class字节码的反射方式来创建目标对象,然后再实现拷贝)

创建BeanCopyUtils工具类来对bean进行封装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//Bean封装工具类
public class BeanCopyUtils
{
private BeanCopyUtils(){
}

//因为有一些实体类只涉及一个字段而有些涉及多个字段,所以要分情况写
//期望是在方法内部自己去创建Vo对象,通过传入参数来实现(通过Class字节码的反射方式来创建目标对象,然后再实现拷贝)
//通过泛型来实现对象相同类型的返回

//涉及单个字段的拷贝
public static <V> V copyBean(Object source, Class<V> clazz)
{
//创建目标对对象
V result;
try {
result = clazz.newInstance();
//实现属性拷贝
BeanUtils.copyProperties(source, result);
} catch (Exception e) {
throw new RuntimeException(e);
}
//返回结果
return result;
}

//如果要实现多个字段的拷贝,例如列表的拷贝
public static <O,V> List<V> copyBeanList(List<O> list, Class<V> clazz)
{
//通过遍历list集合来调用上面的copyBean方法来实现(不用for循环,使用stream流来实现)
return list.stream()
.map(o -> copyBean(o,clazz))
.collect(Collectors.toList());
}
}


PS:该系列只做为作者学习开发项目做的笔记用

不一定符合读者来学习,仅供参考


预告

后续会记录博客的开发过程

每次学习会做一份笔记来进行发表

“一花一世界,一叶一菩提”


版权所有 © 2025 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/


『博客开发日记』之优化后端上传的数据及一些处理
http://example.com/2025/11/26/『博客开发日记』之优化后端上传的数据及一些处理/
作者
云梦泽
发布于
2025年11月26日
更新于
2025年11月26日
许可协议