diff --git a/changelogs/2026-05/06_fix_gateway_review_filter_tags_public.md b/changelogs/2026-05/06_fix_gateway_review_filter_tags_public.md new file mode 100644 index 0000000..aad6fb6 --- /dev/null +++ b/changelogs/2026-05/06_fix_gateway_review_filter_tags_public.md @@ -0,0 +1,55 @@ +# fix(gateway): /mp/review/filter-tags 加入网关白名单(应免登录) + +**日期**: 2026-05-06 20:30 +**通知对象**: @mmg (前端) +**关联 PR**: wx/HL #1754 (已 merge dev + 测试服 round-trip 通过) +**关联工单**: wx/HL #1752 + +--- + +## 一、用户反馈 + +`GET https://api.test.1814.love:9443/mp/review/filter-tags` 返回 `{"code":401,"message":"Missing or invalid Authorization header"}`,但该接口是评价列表页顶部筛选栏(全部/有图 + 字典关键词标签),前端用于渲染筛选栏,应免登录。 + +## 二、根因 + +`hl-gateway/src/main/java/com/hulalv/gateway/filter/JwtAuthFilter.java` 评价浏览白名单段已包含同 family 的 target / stats / product/** / search / rating-categories / featured,**漏掉 filter-tags**,导致网关层 401。 + +`MpReviewController.java#getFilterTags` 自身无任何权限要求,卡在网关层。 + +## 三、修复 + +`JwtAuthFilter` 评价浏览段加一行 `/mp/review/filter-tags`。 + +## 四、API 改动 + +无字段变更;仅鉴权策略变更——`/mp/review/filter-tags` 现已免登录。 + +## 五、验收 + +``` +$ curl -k https://api.test.1814.love:9443/mp/review/filter-tags +HTTP 200 +{ + "code": 200, + "message": "成功", + "data": { + "fixedFilters": [ + {"label":"全部","key":"all"}, + {"label":"有图","key":"hasImage"} + ], + "tagFilters": [ + {"key":"QUIET_PRIVATE","label":"安静私密"}, + {"key":"KIDS_LOVE_IT","label":"孩子玩疯了"}, + ... 共 9 个 + ] + }, + "success": true +} +``` + +回归: `/mp/review/featured` 200, `/mp/review/rating-categories` 200; 反向校验 `/mp/review/my` 仍返 401(未误开口子)。 + +## 六、前端建议 + +无需改动。前端可直接调 `GET /mp/review/filter-tags`(无 token)拿到 fixedFilters + tagFilters 渲染评价列表页筛选栏。