Files
dns-server/.trae/documents/plan_20251215_151748.md
2025-12-19 12:44:57 +08:00

1.3 KiB
Raw Permalink Blame History

修复API不可用问题

问题分析

  1. 配置文件中API被禁用:在config.json中,http.enableAPI设置为false
  2. 缺少默认启用配置:在config/config.goLoadConfig函数中,没有为EnableAPI设置默认值
  3. API路由条件注册:在http/server.go所有API端点都在if s.config.EnableAPI条件下注册

解决方案

1. 修改配置文件启用API

config.json中的http.enableAPI值从false改为true立即启用API功能。

2. 设置API默认启用

config/config.goLoadConfig函数中添加默认值设置确保API在配置文件未指定时自动启用

if !config.HTTP.EnableAPI {
    config.HTTP.EnableAPI = true
}

实施步骤

  1. 编辑config.json文件,将http.enableAPI设置为true
  2. 修改config/config.go,在LoadConfig函数中添加API默认启用逻辑
  3. 重启服务使配置生效

预期结果

  • API端点将可用包括
    • /api/stats - 统计信息
    • /api/shield - 屏蔽规则管理
    • /api/shield/localrules - 本地规则
    • /api/shield/remoterules - 远程规则
    • /api/query - DNS查询
    • 以及其他统计和管理端点
  • Swagger UI页面可通过/api访问

文件修改清单

  1. config.json - 启用API
  2. config/config.go - 添加API默认启用配置