hl-api-changelog/changelogs-v2/2026-08/04_5472_看板列表枚举筛选纯分隔符值校验补全-修改接口-管理后台.md
API Changelog Bot 76f18dcbec
一些检查失败了
changelog-filename-gate / validate (push) Failing after 2s
docs(changelog): 联系人章节补全 yst 完整格式——链接(Issue+PR+Merge commit)+ 联系人
2026-08-04 14:13:26 +08:00

4.4 KiB

schema, ticket, title, consumer, change_type, author, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base
schema ticket title consumer change_type author backend_status gateway_status frontend_status frontend_owner frontend_ref target_release verified_at status_note updated_at base
hl-changelog/v2 5472 看板列表枚举筛选纯分隔符值校验补全status 参数) admin 修改接口 wx(GIT) deployed verified not_required 后端完成PR #5473 已合并 dev-v3 并部署 TEST,网关验证 17/17;#5455 的 100001 错误处理提示已覆盖本单场景,前端无需新改动。 2026-08-04 dev-v3

车务: 看板列表枚举筛选纯分隔符值校验补全status 参数)

服务: hl-fleet-service PR: #5473 Issue: #5472 日期: 2026-08-04 影响范围: 管理后台车务端看板列表的状态筛选参数(#5455 校验契约的补全)


⚠️ 关键变化

#5455 后,GET /admin/fleet/board/orders 仍有一个校验绕过向量:单值参数 status 传入非空白但纯分隔符组成的值(如 status=,status=,,)时,无任何合法状态 token,此前被静默放行返回全量数据;现在与非法状态值同为拒绝口径,返回 100001 参数非法

  • 以前:status=,code=200 + 全量数据(筛选静默失效)。
  • 现在:status=,code=100001,message 指明非法值与合法枚举。

数组参数无需变化(行为如实说明):statuses/vehicleTypeKeys/typeKeys 为数组参数,Spring 绑定层会先按逗号拆分,纯分隔符值绑定为空数组,与空串等价,按「空=不过滤」返回 200 全量——这是设计口径,与 statuses=(空串)行为一致,不属于校验绕过。空值/纯空白(如 vehicleTypeKeys= )同样按「空=不过滤」。

变更接口清单

# 接口 方法 路径 变更类型 说明
1 看板列表 GET /admin/fleet/board/orders 校验补全 单值参数 status 纯分隔符值返 100001

接口详情

1. 看板列表 GET /admin/fleet/board/orders

status 参数(单值,与 statuses 合并):

参数 类型 合法值 说明
status String unassigned/unassigned_urgent/holding/holding_urgent/assigned/change_requested/canceled/completed(支持中英文别名、大小写、逗号分隔多值) 状态筛选别名;非空白纯分隔符值返 100001

异常示例(纯分隔符值):

GET /admin/fleet/board/orders?page=1&pageSize=20&status=,
Authorization: Bearer <token>
(无请求体)
{
  "code": 100001,
  "message": "参数非法: statuses 含非法状态值:,合法值unassigned/unassigned_urgent/holding/holding_urgent/assigned/change_requested/canceled/completed",
  "data": null,
  "traceId": null,
  "success": false
}

典型成功示例(合法单值):

GET /admin/fleet/board/orders?page=1&pageSize=20&status=unassigned
Authorization: Bearer <token>
{
  "code": 200,
  "message": "成功",
  "data": {
    "records": [],
    "total": 0,
    "page": 1,
    "pageSize": 20
  },
  "success": true
}

错误码

code 含义 说明
100001 参数非法 status 为非法值/非空白纯分隔符值(与 #5455 同为拒绝口径)

前端需要做什么

  • 无需改动:正常请求不产生纯分隔符值;100001 的错误提示处理已在 #5455 changelog 中说明(展示 message 即可)。

验证证据

  • 单元测试BoardOrderServiceTest 79/79新增 4 例status/statuses/vehicleTypeKeys/typeKeys 纯分隔符拒绝且不查库;空值/纯空白/尾逗号合法回归)。
  • 全量基线494f78e7b 上 hl-fleet-service 3064 例(仅 Docker 环境型 1 error,与改动无关
  • 测试环境网关验证 17/17status=,/status=,, → 100001;数组参数纯分隔符 → 200空=不过滤,设计口径);空值/纯空白 → 200;合法值suv、suv,mpv、尾逗号、unassigned,holding→ 200;BAD_TYPE/BAD_STATUS → 100001。

关联 / 联系人

链接

联系人

  • 后端负责人: @wx