# 【前端修复·管理后台】保险订单列表页报「参数类型错误: id='list'」——前端调错路径 `/orders/list`,应改为 `/list` > 服务:hl-order-service-v3(保险模块 AdminInsuranceController) | 无 PR(前端调错 URL,后端契约正常无需改) | 测试服网关 9443 实测复现并确认(2026-06-13) > 背景:wx 打开「保险管理 → 保险订单」页(`192.168.100.160:9527/insurance/orders`),页面顶部红条报 **「参数类型错误: id='list'(需要 Long 类型)」**。经网关实测复现,定位为前端列表接口 URL 写错。 ## ⚠️ 关键说明(前端动作) 1. **根因:前端把保险订单列表调成了 `GET /v3/admin/insurance/orders/list`,这个路径后端不存在。** - 后端只有 `GET /v3/admin/insurance/orders/{id}`(按 ID 查保险订单详情,`{id}` 是 Long 类型)。 - 前端那个 `.../orders/list` 请求里的 `list` 被 Spring 当成 `{id}` 去解析成 Long,解析失败 → 全局异常处理器返回「参数类型错误: id='list'(需要 Long 类型)」。 - 注意:本项目所有接口**恒返 HTTP 200**,业务错误码在响应体 `code` 字段里。所以 Network 面板看到的是 `200`,但 body 是 `{"code":400,"message":"参数类型错误..."}`——别被 200 误导,要看 body。 2. **正确的列表路径 = `GET /v3/admin/insurance/list`(不带 `/orders`)。** - 这是 v3 全站 admin 列表的统一惯例 `{模块base}/list`:合同 `/v3/admin/contract/list`、退款政策 `/v3/admin/refund-policy/list`、评价 `/list`、支付 `/list`、保险方案 `/list`……保险订单列表同理就是 `/v3/admin/insurance/list`。 - 请把保险订单页的列表请求 URL 从 `…/insurance/orders/list` 改成 `…/insurance/list`,**入参/分页参数(page/pageSize/筛选项)完全不变**。 3. 详情/按订单查仍走 `/orders/...`,不要动:列表是 `/list`、详情是 `/orders/{id}`,这两者本身不冲突,冲突只来自前端给列表错误地拼了 `/orders/` 前缀。 ## 路径对照表 | 用途 | 现状(错误) | 应改为(正确) | |---|---|---| | 保险订单**列表** | `GET /v3/admin/insurance/orders/list?page=1&pageSize=20` ❌ | `GET /v3/admin/insurance/list?page=1&pageSize=20` ✅ | | 保险订单**详情** | — | `GET /v3/admin/insurance/orders/{id}`(id 为 Long) | | 按业务订单查保险 | — | `GET /v3/admin/insurance/orders/by-order/{orderId}` | ## 实测(测试服网关 https://api.test.1814.love:9443) 错误路径(复现用户截图的报错): ```bash curl -k "https://api.test.1814.love:9443/v3/admin/insurance/orders/list?page=1&pageSize=20" \ -H "Authorization: Bearer " # → {"code":400,"message":"参数类型错误: id='list'(需要 Long 类型)","data":null,"success":false} ``` 正确路径(返回真实订单数据): ```bash curl -k "https://api.test.1814.love:9443/v3/admin/insurance/list?page=1&pageSize=20" \ -H "Authorization: Bearer " # → {"code":200,"message":"成功","data":{"records":[ # {"insuranceOrderId":"2065360048397193217","policyNo":"PICC2026GUARD", # "premium":3400.00,"insuredCount":1,"coverageStartDate":"2026-01-01", # "coverageEndDate":"2026-12-31","status":"CANCELLED","statusLabel":"已退保", ...} # ], "total":..., "page":1, "pageSize":20}} ``` ## 结论 后端列表端点正常、契约就是 `/v3/admin/insurance/list`,**无需后端改动**。请前端把保险订单列表页的请求 URL 改为 `/v3/admin/insurance/list` 即可消除红条报错。 > 附:本页此前的「保险产品下拉为空」是另一个前端数据加载问题(后端 `/products/all` 实测返 10 个 ACTIVE 产品),详见同目录 `13_前端核实_保险下单页产品下拉空与司机险混淆-后端正常无需改-管理后台.md`。这两个都是该新页面接线/取数的前端问题。