Disconf项目Web界面开放API详解与使用指南
概述
Disconf作为一个分布式配置管理平台,提供了丰富的Web界面操作功能。为了满足开发者自定义需求,Disconf同时开放了一系列HTTP API接口,允许开发者通过这些接口实现与Web界面相同的功能,并在此基础上进行二次开发。本文将详细介绍Disconf Web界面开放的各类API及其使用方法。
接口分类
Disconf开放的API主要分为以下几大类:
- 应用管理接口
- 认证授权接口
- 环境管理接口
- 配置管理接口
- 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提供了两种创建配置文件的方式:
-
文件上传方式
- 接口路径:
/api/web/config/file
- 参数: myfilerar(文件), appId, version, envId
- 接口路径:
-
文本内容方式
- 接口路径:
/api/web/config/filetext
- 参数: fileName, fileContent, appId, version, envId
- 接口路径:
获取配置列表
Disconf提供了两种获取配置列表的接口:
-
完整信息列表
- 接口路径:
/api/web/config/list
- 参数: appId, envId, version
- 特点: 包含机器数量、机器列表、错误数量等详细信息
- 接口路径:
-
简化信息列表
- 接口路径:
/api/web/config/simple/list
- 参数: appId, envId, version
- 特点: 仅包含配置基本信息,不包含机器相关数据
- 接口路径:
配置操作
-
获取配置详情
- 接口路径:
/api/web/config/{configId}
- 接口路径:
-
获取配置的ZK信息
- 接口路径:
/api/web/config/zk/{configId}
- 功能: 获取该配置对应的机器列表及数据
- 接口路径:
-
下载配置
- 单文件下载:
/api/web/config/download/{configId}
- 批量下载:
/api/web/config/downloadfilebatch
- 参数: appId, envId, version
- 单文件下载:
-
修改配置
- 配置项修改:
/api/web/config/item/{configId}
(PUT)- 参数: value
- 配置文件修改(文件上传):
/api/web/config/file/{configId}
(PUT)- 参数: myfilerar
- 配置文件修改(文本内容):
/api/web/config/filetext/{configId}
(PUT)- 参数: fileContent
- 配置项修改:
-
删除配置
- 接口路径:
/api/web/config/{configId}
- 请求类型: DELETE
- 接口路径:
ZooKeeper接口
获取ZK部署情况
接口路径: /api/zoo/zkdeploy
请求类型: GET
参数说明: | 参数名 | 描述 | 是否必填 | |-------|------|---------| | appId | 应用ID | 是 | | envId | 环境ID | 是 | | version | 版本号 | 是 |
使用建议
- 权限控制: 所有接口都需要有效的会话权限,请确保先进行登录操作
- 错误处理: 检查返回中的success字段,false表示操作失败
- 批量操作: 对于大量配置,建议使用批量下载接口
- 文件上传: 大文件上传时注意设置合适的超时时间
- 版本管理: 版本号格式为"X_X_X_X",创建配置时需保持一致
通过合理利用这些API,开发者可以灵活地集成Disconf的配置管理功能到自己的系统中,实现自动化部署和配置管理。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考