接口返回200且数组长度正确,但对象字段都是空。数据库查询可能正常,丢失发生在实体转换为Service Contract对象的过程。

  1. 序列化器根据getter生成字段。实现类若直接写成员变量,getter却从DataObject的另一个key读取,最终就是空;还要确认工厂创建的是正确实现类。
  2. 比较Repository原始行、DTO调用setter后和返回前getter三个位置。先让一个字段跑通,再增加嵌套对象与数组。

检查命令

public function getCode();
public function setCode($code);
  • 先在测试环境复现;
  • 每次只改一个变量;
  • 恢复后再检查日志没有产生新的异常。