13 lines
1.1 KiB
Markdown
13 lines
1.1 KiB
Markdown
# label +update 分页取值修复
|
||
|
||
修复 `label +update` 在标签数量超过一页时静默覆盖服务端数据的问题。
|
||
|
||
`+update` 需要先取标签当前的 `name`/`description`/`color`(更新接口要求三者同时提交),此前 `fetchLabel` 只对列表接口做单次 `GET`,没有翻页;虽然注释声称“分页匹配 id”,实际当目标标签落在第二页及以后时返回“未找到”。随后 `+update` 用空描述与缺省颜色 `#1E90FF` 回填,PATCH 便把服务端真实的描述与颜色抹掉,造成数据丢失。
|
||
|
||
变更:
|
||
|
||
- `fetchLabel` 改为真正翻页(按 `page`/`limit=50` 循环,页内条数少于一页即视为末页),与仓库其他列表接口的翻页方式一致。
|
||
- 只有用户显式传入的字段才会覆盖,未传字段一律保留服务端现值,不再用缺省值静默重置。
|
||
- 全量翻页后仍找不到该 id 时直接返回明确错误,不再带缺省值发起 PATCH。
|
||
- 单元测试新增“目标标签在第二页”用例,断言 PATCH 报文保留原描述与颜色;并补充“标签不存在时报错、不 PATCH”用例。
|