前台数据结构变化的修改及反思总结
背景
昨天老大和我及前台开发讨论了一处要修改的地方,并且反复强调当查询分页结果没有数据时,也要有默认的返回值。当时并没有列出如下的数据结构,这是最后的结果。但是讨论时说的是searchTypeList和orderCustomerName这两个字段一定要返回出来
有分页数据:
{
"code": "200",
"data": {
"searchTypeList": [
"客户联系人姓名",
"客户联系人电话",
"订单号"
],
"orderCustomerName": "订单管理-讲课费",
"page": {
"records": [
{
"orderNumber": "202112097817",
"money": "14200.00",
"customerUserName": "金坷垃",
"payTime": "2019-12-31 17:15:09",
"status": "1",
"goodsDes": "内部自编大学物理教材1300套在",
"createTime": "2021-12-09 17:14:40",
"remark": "内部自编大学物理教材1300套"
}
],
"total": "1",
"size": "5",
"current": "1",
"pages": "1"
}
},
"msg": "执行成功"
}
没有查询到分页数据:
{
"code": "200",
"data": {
"searchTypeList": [
"客户联系人姓名",
"客户联系人电话",
"订单号"
],
"orderCustomerName": "订单管理-讲课费"
},
"msg": "执行成功"
}
原来的数据结构:
{
"code": "200",
"data": {
"records": [
{
"id": "9m8wj2kB",
"indexId": "1",
"orderNumber": "202112097817",
"money": "14200.00",
"customerId": "9VXEyXvg",
"customerName": "酷家乐",
"customerUserId": "5PzmK8Jv",
"customerUserName": "吕晶晶",
"customerUserPhone": "13536256598",
"orderOwnerId": "jP81wzqA",
"orderOwnerName": "冰龙",
"payTime": "2019-12-31 17:15:09",
"type": "1",
"status": "1",
"goodsDes": "内部自编大学物理教材1300套在",
"tenantId": "rnzdb8jY",
"createTime": "2021-12-09 17:14:40",
"createUser": "rnzdb8jY",
"updateTime": "2021-12-14 17:37:44",
"updateUser": "rnzdb8jY",
"delFlag": "0",
"remark": "内部自编大学物理教材1300套"
}
],
"total": "1",
"size": "5",
"current": "1",
"pages": "1"
},
"msg": "执行成功"
}
修改过程
正确的修改思路:应该是把原来的分页对象和默认需要返回的数据封装成一个新对象,作为返回值。
错误的修改思路:把默认需要返回的数据封装到分页对象里,一并和分页对象返回出来。
刚开始,我一直是按错误的修改思路在做。虽然处理了没有结果也有默认返回值的情况,但是数据结构很难看----返回了一堆的null值属性。如下:

虽然后面几次修改是把分页对象包装到默认返回值的对象中,但是还不是我们讨论的结果。如下:

最后才把整个分页对象和默认返回值包装成一个对象作为返回值。得到正确的结果
@Data
public class CustomerPageVO {
/**
* 搜索条件列表
*/
private List<String> searchTypeList;
/**
* 订单管理-客户名
*/
private String orderCustomerName;
/**
* 订单列表(分页对象)
*/
HnlrkjPage<OrderPageVO> page;
}
反思
对于要返回给前台的数据结构,先把结构写出来,再和原来的数据结构对比。如果不能在原始对象上修改,需要构造新对象的,要把构造的新对象的属性弄清楚再去构造。这样就不用走弯路。
本文总结了在处理前台数据结构变化的过程,特别是在分页查询无数据时如何提供默认返回值的经验。错误的做法是将默认数据混入分页对象,正确的解决方案是将分页对象与默认数据封装为新的对象进行返回。作者反思了这一过程,强调了数据结构清晰的重要性。
778

被折叠的 条评论
为什么被折叠?



