Disconf项目Web界面开放API详解与使用指南

Disconf项目Web界面开放API详解与使用指南

概述

Disconf作为一个分布式配置管理平台,提供了丰富的Web界面操作功能。为了满足开发者自定义需求,Disconf同时开放了一系列HTTP API接口,允许开发者通过这些接口实现与Web界面相同的功能,并在此基础上进行二次开发。本文将详细介绍Disconf Web界面开放的各类API及其使用方法。

接口分类

Disconf开放的API主要分为以下几大类:

  1. 应用管理接口
  2. 认证授权接口
  3. 环境管理接口
  4. 配置管理接口
  5. ZooKeeper接口

应用管理接口

获取应用列表

接口路径: /api/app/list

请求类型: GET

功能说明: 获取系统中所有应用的列表信息

返回示例:

{
  "message": {},
  "sessionId": "3e560be1-9000-4a5c-8371-35312040d8ac",
  "success": "true",
  "page": {
    "result": [{"id":2,"name":"disconf_demo"}],
    "totalCount": 1
  }
}

创建新应用

接口路径: /api/app

请求类型: POST

参数说明: | 参数名 | 描述 | 是否必填 | |-------|------|---------| | app | 应用名称 | 是 | | desc | 应用描述 | 是 | | emails | 关联邮箱列表(逗号分隔) | 否 |

返回示例:

{
  "message": {},
  "sessionId": "31617346-2020-4016-bc0d-f7a62d91945b",
  "success": "true",
  "result": "创建成功"
}

认证授权接口

用户登录

接口路径: /api/account/signin

请求类型: POST

参数说明: | 参数名 | 描述 | 是否必填 | |-------|------|---------| | name | 用户名 | 是 | | password | 密码 | 是 | | remember | 是否记住登录状态 | 是 |

成功返回示例:

{
  "message": {},
  "sessionId": "53e68882-bf9a-47ab-a1f6-ba347906c2a5",
  "success": "true",
  "result": {
    "visitor": {
      "id": 6,
      "name": "admin",
      "role": null
    }
  }
}

失败返回示例:

{
  "message": {"field": {"password": "密码不正确"}},
  "sessionId": "29efac2d-fec1-40c7-b0d2-8433fb8a8c2c",
  "success": "false",
  "status": 2000
}

获取当前会话

接口路径: /api/account/session

请求类型: GET

功能说明: 获取当前登录用户的会话信息

用户登出

接口路径: /api/account/signout

请求类型: GET

环境管理接口

获取环境列表

接口路径: /api/env/list

请求类型: GET

返回示例:

{
  "message": {},
  "sessionId": "826141a9-3255-4beb-88c8-018e40981f6c",
  "success": "true",
  "page": {
    "result": [
      {"id":1,"name":"rd"},
      {"id":2,"name":"qa"},
      {"id":3,"name":"local"},
      {"id":4,"name":"online"}
    ],
    "totalCount": 4
  }
}

配置管理接口

创建配置项

接口路径: /api/web/config/item

请求类型: POST

参数说明: | 参数名 | 描述 | 是否必填 | |-------|------|---------| | key | 配置项key | 是 | | value | 配置项value | 是 | | appId | 应用ID | 是 | | version | 版本号 | 是 | | envId | 环境ID | 是 |

创建配置文件

Disconf提供了两种创建配置文件的方式:

  1. 文件上传方式

    • 接口路径: /api/web/config/file
    • 参数: myfilerar(文件), appId, version, envId
  2. 文本内容方式

    • 接口路径: /api/web/config/filetext
    • 参数: fileName, fileContent, appId, version, envId

获取配置列表

Disconf提供了两种获取配置列表的接口:

  1. 完整信息列表

    • 接口路径: /api/web/config/list
    • 参数: appId, envId, version
    • 特点: 包含机器数量、机器列表、错误数量等详细信息
  2. 简化信息列表

    • 接口路径: /api/web/config/simple/list
    • 参数: appId, envId, version
    • 特点: 仅包含配置基本信息,不包含机器相关数据

配置操作

  1. 获取配置详情

    • 接口路径: /api/web/config/{configId}
  2. 获取配置的ZK信息

    • 接口路径: /api/web/config/zk/{configId}
    • 功能: 获取该配置对应的机器列表及数据
  3. 下载配置

    • 单文件下载: /api/web/config/download/{configId}
    • 批量下载: /api/web/config/downloadfilebatch
      • 参数: appId, envId, version
  4. 修改配置

    • 配置项修改: /api/web/config/item/{configId} (PUT)
      • 参数: value
    • 配置文件修改(文件上传): /api/web/config/file/{configId} (PUT)
      • 参数: myfilerar
    • 配置文件修改(文本内容): /api/web/config/filetext/{configId} (PUT)
      • 参数: fileContent
  5. 删除配置

    • 接口路径: /api/web/config/{configId}
    • 请求类型: DELETE

ZooKeeper接口

获取ZK部署情况

接口路径: /api/zoo/zkdeploy

请求类型: GET

参数说明: | 参数名 | 描述 | 是否必填 | |-------|------|---------| | appId | 应用ID | 是 | | envId | 环境ID | 是 | | version | 版本号 | 是 |

使用建议

  1. 权限控制: 所有接口都需要有效的会话权限,请确保先进行登录操作
  2. 错误处理: 检查返回中的success字段,false表示操作失败
  3. 批量操作: 对于大量配置,建议使用批量下载接口
  4. 文件上传: 大文件上传时注意设置合适的超时时间
  5. 版本管理: 版本号格式为"X_X_X_X",创建配置时需保持一致

通过合理利用这些API,开发者可以灵活地集成Disconf的配置管理功能到自己的系统中,实现自动化部署和配置管理。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

史淳莹Deirdre

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值