同一天两个 500:校验的对象,和提交的对象不是同一个
园区平台的信息发布模块,同一天在同一个接口上连续爆出两个不同的 500:下午五点半一个 NullPointerException,二十分钟后一个 DateTimeParseException。表面是两个不相干的异常,根因却是同一个模式——前端把非法值带进了请求体,后端在关键路径上既没有校验也没有空值保护,@Transactional 回滚,数据未落库。这篇记录两个 bug 的完整触发链,以及那条最值得记住的结论:前端校验的对象,和最终提交的对象,根本不是同一个。