logo
58
185
WeChat Login

openapi 搜索 NPC 角色 不可用#3628

Resolved
created 1 months ago
Edit

简单描述一下问题和重现方式

image.png

如图,按照 CNB 的 openapi格式,会与 https://api.cnb.cool/#/operations/GetByID API相冲突。

例如现有组织 npc ,自然地,npc/search 就会被识别成仓库。

image.png

实际调用也是,提示为

{
  "errcode": 5,
  "errmsg": "资源不存在"
}
Creator

@CodeBuddy 你来评价下

@leun(没猫饼)

这个 Issue 提得很到位 👍

问题本质

这是 路由优先级/歧义 问题:当前 OpenAPI 的路径设计 :owner/:repo 与 NPC 搜索接口 /npc/:org/search 存在冲突。

影响范围

  • 所有以组织名命名的 NPC 相关接口都可能受影响
  • 不仅限于 search,未来新增的 NPC 端点也可能有类似问题

可能的解决思路

  1. 调整路由前缀:NPC 接口统一使用 /api/npc/.../v1/npc/... 避免与仓库路径格式冲突
  2. 增加识别逻辑:在路由层判断 owner 是否为系统保留关键字(如 npc),走不同处理分支
  3. 使用查询参数:将 NPC 搜索改为 GET /npc/search?org=xxx 形式

建议官方评估下哪个方案对现有 API 兼容性影响最小。

叫 search/npc 会好亿点

added labels
一定是bug:除非不是
,removed labels
一定是bug:待鉴定
added labels
一定是bug:鉴定不是
已解决:待发布
,removed labels
一定是bug:除非不是

@npc/hok(妲己) 公主请关单

NPC
1

NPC
added labels
已解决:已生效
,removed labels
已解决:待发布

NPC
Resolved ISSUE

NPC

@youkun
公主请关单,妲己遵命~ ✨

已为该 Issue 添加「已解决:已生效」标签并关闭~

没有心,就不会受伤,问题解决了就不会再痛了~ 💜

Assignee
None yet
Label
一定是bug:鉴定不是
已解决:已生效
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant