BE-05 契约校验、异常映射与 traceId 日志交付记录
BE-05 契约校验、异常映射与 traceId 日志交付记录
修改范围
BookingReconciliationValidationTest:新增 VALID-01 至 VALID-06,覆盖构造器、两个服务入口的空值和非法字段、空outcome,以及外部建单、查单、匹配数据的缺字段和clientReference不一致。BookingReconciliationControllerTest:新增 VALID-07,覆盖缺失请求包络字段的稳定400 INVALID_REQUEST、响应traceId与错误日志一致;补充正常审计日志的 traceId 和 500 响应不泄露内部异常内容的断言。- 生产代码未修改;当前服务与统一异常处理已满足新增测试所定义的契约。
行为保证
- 调用契约或配置错误抛出包含参数名的
IllegalArgumentException;不将编程错误伪装为业务决策。 - 外部事件或供应商匹配字段缺失、引用不属于本地订单时返回
MANUAL_REVIEW,不抛异常、不回填标识。 - MVC 非法请求返回含
code、message、traceId的400;非预期运行时异常返回不含异常消息或类名的500 INTERNAL_ERROR。 - 成功审计日志与失败日志均复用过滤器建立的
X-Trace-Id;未引入数据库、调度、客户端或 Repository。
验证
mvn -f backend/pom.xml '-Dtest=BookingReconciliationValidationTest,BookingReconciliationControllerTest' test
mvn -f backend/pom.xml test
定向测试:16 tests,0 failures,0 errors,0 skipped,BUILD SUCCESS(2026-07-20 11:08:46 +08:00)。
完整测试:59 tests,0 failures,0 errors,0 skipped,BUILD SUCCESS(2026-07-20 11:09:28 +08:00)。