现在后台 API key 管理里有 notify_url 字段,创建和编辑都能传,数据库里也会保存,但实际下单和回调流程并不会使用它。
相关代码:
src/controller/admin/api_key_controller.go:15-23
src/controller/admin/api_key_controller.go:99-105
src/controller/admin/api_key_controller.go:159-168
src/model/mdb/api_key.go:14-24
src/model/request/order_request.go:6-16
src/model/service/order_service.go:109-120
src/mq/worker.go:229-264
当前行为:
- API key 创建/更新接口允许写入
notify_url
- 但订单创建请求里,
notify_url 仍然是必填项,并且是直接写进 orders.notify_url
- 回调 worker 发通知时,始终使用
order.NotifyUrl
- 代码里没有看到任何地方会把
api_keys.notify_url 作为默认值、兜底值或回调目标使用
影响:
- 后台页面会给人一种“API key 级别可以配置回调地址”的预期
- 实际上这个字段不生效,属于误导性配置
- 运维或接入方很容易以为自己已经配好了默认回调,结果线上并不会走这里
建议:
- 如果暂时不打算支持 API key 级别默认回调,建议把这个字段从管理接口和页面里去掉。
- 如果想保留,就需要补上明确的生效规则,比如:
- 订单请求显式传了
notify_url 时,以订单为准
- 没传时回退到
api_keys.notify_url
- 无论采用哪种方式,建议在文档里把优先级写清楚。
现在后台 API key 管理里有
notify_url字段,创建和编辑都能传,数据库里也会保存,但实际下单和回调流程并不会使用它。相关代码:
src/controller/admin/api_key_controller.go:15-23src/controller/admin/api_key_controller.go:99-105src/controller/admin/api_key_controller.go:159-168src/model/mdb/api_key.go:14-24src/model/request/order_request.go:6-16src/model/service/order_service.go:109-120src/mq/worker.go:229-264当前行为:
notify_urlnotify_url仍然是必填项,并且是直接写进orders.notify_urlorder.NotifyUrlapi_keys.notify_url作为默认值、兜底值或回调目标使用影响:
建议:
notify_url时,以订单为准api_keys.notify_url