# Swagger 业务码精简显示(#1417 / PR #1418-#1420) **日期**: 2026-04-25 **状态**: 已上线测试服(dev `3082c367`) **关联**: 后续优化于 [#1412](https://git.1814.love:8443/wx/HL/issues/1412) --- ## 改造前(#1412 完成时) 每个接口的「响应状态」区显示 **193 行**(4 HTTP + 189 业务码全集)— 太冗余。 ## 改造后(#1420 上线) 每个接口显示 **21 行**: - 4 HTTP 标准(200 / 401 / 403 / 404) - 13 通用业务码: - common 段(100xxx):SYSTEM_ERROR / INVALID_PARAM / DATA_NOT_FOUND / OPERATION_NOT_ALLOWED / RATE_LIMITED / IDEMPOTENT_REJECTED / FEIGN_EMPTY_DATA / FEIGN_CALL_FAILED - auth 段(110xxx):UNAUTHENTICATED / TOKEN_EXPIRED / TOKEN_INVALID / PERMISSION_DENIED / RESOURCE_NOT_FOUND - system 段(900xxx):RATE_LIMITED / CIRCUIT_BROKEN / SERVICE_DEGRADED / GATEWAY_ERROR - 0 ~ N 个 controller 字节码直接引用的业务码(由 ASM 启动时扫描) ## 实现路径(踩坑) 1. **PR #1418**:按服务模块过滤,但 user-service 自己注册的码就 189,过滤无效 2. **PR #1419**:ASM 扫 controller 字节码 + fallback module 全集,99% controller 不直接 throw 走 fallback 仍 189 3. **PR #1420(终版)**:删除 fallback,只显示通用 + ASM 扫到的引用 ## 完整业务码全集查询 - 后端启动日志:`ErrorCodeRegistry scan complete, totalCodes=N` - 前端文档:[errorcode-catalog](https://git.1814.love:8443/wx/hl-api-changelog/raw/branch/main/changelogs/2026-04/2026-04-25_error-code-v2-full-migration.md)(段位表) - 后端代码:`hl-*-service/src/main/java/com/hulalv/*/errorcode/*.java` ## 前端处理建议 - HTTP 401 / 403 / 404 走拦截器分支(已有,不变) - 通用码 100xxx / 110xxx / 900xxx 提示规则统一(如 100501 RATE_LIMITED 显示"操作过于频繁") - 业务码用 `message` 弹 toast,不必为每个 code 写分支 ## 不影响 所有业务接口/响应数据结构/前端调用约定**完全不变**,只是文档展示精简。