项目场景:
最近写的一个给第三方用的接口,自测完就提交更新了。
对面说 “你接口文档写两个字段是非空昂,为啥没反数据回来”
我记得为了快直接用的map,塞进去的数据,不可能为空鸭。
问题描述
controller 接口代码大致如下
// 查数据
List<Map<String, String>> cowList = cowInfoService.getExternalCowInfoList(baseInterQO);
// 结果集
Map<String,Object> resultMap = new HashMap<>();
resultMap.put("farmId",baseInterQO.getFarmId());
resultMap.put("cowsList",cowList);
// 返回
return ResultVO.successResult(resultMap);
debug到返回的时候也是有数据的

但是返回结果集就是null

原因分析:
盲猜可能是因为fastjson序列化的原因
解决方案:

mapper中时间的查询用to_char()修饰,映射的Java数据类型为String,可以正常序列化。
被自己蠢哭了😂
Fastjson 序列化问题导致接口返回null
博客讲述了作者在开发接口时遇到的问题,即接口文档标明字段非空,但实际返回结果为空。问题源于使用Fastjson进行序列化时出现的不预期情况。通过在mapper中对时间查询使用to_char()并映射为String类型解决了问题。
1022

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



