19、disconf-web 为界面 开放的 Http API

2.1. 前言

  • 目标:让开发者具有自定义定制web控制台界面的能力

以下接口均需要权限控制

2.2. app接口

/api/app/list

  • 描述:返回所有app的列表
  • 请求类型: GET
  • 参数示例:N/A
  • 返回示例:
{“message”:{},”sessionId”:”3e560be1-9000-4a5c-8371-35312040d8ac”,”success”:”true”,”page”:{“result”:[
{“id”:2,”name”:”disconf_demo”}],”order”:null,”orderBy”:null,”totalCount”:1,”pageNo”:null,”pageSize”:null
,”footResult”:null}}

/api/app

  • 描述:生成一个app
  • 请求类型: POST
  • 参数
  name desc 是否必要
1 app app的名字
2 desc 描述
3 emails 关联的邮箱列表,逗号分隔
* 返回示例:
{“message”:{},”sessionId”:”9d466ef4-1782-451a-8a4c-e2b99601dcba”,”success”:”true”,”result”:{“visitor”
:{“id”:6,”name”:”admin”,”role”:null}}}

2.3. auth接口

/api/account/session

  • 描述:获取当前会话信息
  • 请求类型: GET
  • 参数示例:N/A
  • 返回示例:

{“message”:{},”sessionId”:”9d466ef4-1782-451a-8a4c-e2b99601dcba”,”success”:”true”,”result”:{“visitor”

:{“id”:6,”name”:”admin”,”role”:null}}}

/api/account/signin

  • 描述:登录
  • 请求类型: POST
  • 参数
# name desc 是否必要
1 name 用户名
2 password 密码
3 remember 是否记住自己
* 返回示例:

失败示例:

{“message”:{“field”:{“password”:”密码不正确”}},”sessionId”:”29efac2d-fec1-40c7-b0d2-8433fb8a8c2c”,”success”

:”false”,”status”:2000}

或成功示例

{“message”:{},”sessionId”:”53e68882-bf9a-47ab-a1f6-ba347906c2a5”,”success”:”true”,”result”:{“visitor”

:{“id”:6,”name”:”admin”,”role”:null}}}

/api/account/signout

  • 描述:退出
  • 请求类型: GET
  • 参数示例:N/A
  • 返回示例:

{“message”:{},”sessionId”:”e6c3134d-ba55-4e34-837d-46d08604e2b1”,”success”:”true”,”result”:{“ok”:”ok”

}}

2.4. env接口

/api/env/list

  • 描述:返回所有环境的列表
  • 请求类型: GET
  • 参数示例:N/A
  • 返回示例:

{“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”}],”order”:null

,”orderBy”:null,”totalCount”:4,”pageNo”:null,”pageSize”:null,”footResult”:null}}

2.5. config接口

/api/web/config/item

  • 描述:创建配置项
  • 请求类型: POST
  • 参数
# name desc 是否必要
1 key 配置项key
2 value 配置项value
3 appId app
4 version 版本
5 envId 环境
  • 返回示例:

{“message”:{},”sessionId”:”dc7b3355-2763-4122-bb69-96d2eb282027”,”success”:”true”,”result”:”创建成功”}

/api/web/config/file

  • 描述:生成配置, 采用直接上传文件方式
  • 请求类型: POST
  • 参数
# name desc 是否必要
1 myfilerar 配置文件
2 appId app
3 version 版本
4 envId 环境
* 返回示例:

{“message”:{},”sessionId”:”b6a75894-a94b-4075-a4c7-05ed0be6b016”,”success”:”true”,”result”:”创建成功”}

/api/web/config/filetext

  • 描述:生成配置, 采用直接上传文本方式
  • 请求类型: POST
  • 参数
# name desc 是否必要
1 fileName 文件名
2 fileContent 文件内容
3 appId app
4 version 版本
5 envId 环境
* 返回示例:

{“message”:{},”sessionId”:”b6a75894-a94b-4075-a4c7-05ed0be6b016”,”success”:”true”,”result”:”创建成功”}

/api/web/config/versionlist

  • 描述:根据app, env 获取所有的 版本列表
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 appId app
2 envId 环境
* 返回示例:

{“message”:{},”sessionId”:”cd908c6a-1dba-42b4-8a6f-3cb997ffb747”,”success”:”true”,”page”:{“result”:[“1_0_0_0”],”order”:null,”orderBy”:null,”totalCount”:1,”pageNo”:null,”pageSize”:null,”footResult”:null}}

/api/web/config/list

  • 描述:根据app, env , version 获取所有的 配置列表,含有machine size, machine list,error num 等信息
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 appId app
2 envId 环境
3 version 版本
* 返回示例:

{“message”:{},”sessionId”:”95839567-d098-4456-b44a-dd556454ec65”,”success”:”true”,”page”:{“result”:[

{“configId”:148,”appName”:”disconf_demo”,”appId”:2,”version”:”1_0_0_0”,”envId”:1,”envName”:”rd”,”type”

:”配置文件”,”typeId”:0,”key”:”autoconfig.properties”,”value”:”auto=bbdxxjdccdcccdxdcdc\nxx”,”createTime”

:”20150320130619”,”modifyTime”:”201603271140”,”machineSize”:1,”machineList”:[{“machine”:”localhost_0_4b860678-290a-4bdf-9a79-2600598f419b”

,”value”:”{“auto”:”bbdxxjdccdcccdxdcdc”,”xx”:”“}”,”errorList”:[]}],”errorNum”:0},{“configId”

:149,”appName”:”disconf_demo”,”appId”:2,”version”:”1_0_0_0”,”envId”:1,”envName”:”rd”,”type”:”配置文件”,”typeId”

:0,”key”:”autoconfig2.properties”,”value”:”auto2=cd你好 坑爹 22fd d”,”createTime”:”20150320130625”,”modifyTime”

:”201602011810”,”machineSize”:1,”machineList”:[{“machine”:”localhost_0_4b860678-290a-4bdf-9a79-2600598f419b”

,”value”:”{“auto2”:”cd你好 坑爹 22fd d”}”,”errorList”:[]}],”errorNum”:0}.....

/api/web/config/simple/list

  • 描述:根据app, env , version 获取所有的 配置列表,无machine size, machine list,error num 等信息
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 appId app
2 envId 环境
3 version 版本
* 返回示例:

{“message”:{},”sessionId”:”ee170075-0974-4b9a-b341-f8f33beda453”,”success”:”true”,”page”:{“result”:[

{“configId”:155,”appName”:”测试”,”appId”:3,”version”:”1_0_0_0”,”envId”:1,”envName”:”rd”,”type”:”配置文件”,”typeId”

:0,”key”:”a.properties”,”value”:””,”createTime”:”20160423115212”,”modifyTime”:”201604231152”,”machineSize”

:0,”machineList”:[],”errorNum”:0},{“configId”:154,”appName”:”测试”,”appId”:3,”version”:”1_0_0_0”,”envId”

:1,”envName”:”rd”,”type”:”配置项”,”typeId”:1,”key”:”dd”,”value”:””,”createTime”:”20160423114721”,”modifyTime”

:”201604231147”,”machineSize”:0,”machineList”:[],”errorNum”:0}],”order”:”asc”,”orderBy”:”name”,”totalCount”

:2,”pageNo”:null,”pageSize”:null,”footResult”:null}}

/api/web/config/{configId}

  • 描述:获取某个config的内容
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 configId configId
* 返回示例:

{“message”:{},”sessionId”:”2944fb48-3735-48a0-a1bf-ad1bf4980c71”,”success”:”true”,”result”:{“configId”

:148,”appName”:”disconf_demo”,”appId”:2,”version”:”1_0_0_0”,”envId”:1,”envName”:”rd”,”type”:”配置文件”,”typeId”

:0,”key”:”autoconfig.properties”,”value”:”auto=bbdxxjdccdcccdxdcdc\nxx”,”createTime”:”20150320130619”

,”modifyTime”:”201603271140”,”machineSize”:0,”machineList”:null,”errorNum”:0}}

/api/web/config/zk/{configId}

  • 描述:获取该配置相对应的机器列表以及数据
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 configId configId
* 返回示例:

{“message”:{},”sessionId”:”6bf69e7e-a6f7-4c42-b04e-0336c132fef2”,”success”:”true”,”result”:{“datalist”

:[{“machine”:”localhost_0_4b860678-290a-4bdf-9a79-2600598f419b”,”value”:”{“auto”:”bbdxxjdccdcccdxdcdc

”,”xx”:”“}”,”errorList”:[]}],”errorNum”:0,”machineSize”:1}}

/api/web/config/download/{configId}

  • 描述:以下载文件的形式下载配置
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 configId configId
* 返回示例: N/A

/api/web/config/downloadfilebatch

  • 描述:以下载文件的形式批量下载配置
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 appId app
2 envId 环境
3 version 版本
* 返回示例: N/A

/api/web/config/item/{configId}

  • 描述:修改配置项的值
  • 请求类型: PUT
  • 参数
# name desc 是否必要
1 configId configId
1 value value
* 返回示例:

{“message”:{},”sessionId”:”004cd21f-f2d4-4754-b5c1-f215266d63c4”,”success”:”true”,”result”:”修改成功,邮件发

送失败,请检查邮箱配置”}

/api/web/config/file/{configId}

  • 描述:以上传文件的形式 修改配置文件的值
  • 请求类型: PUT
  • 参数
# name desc 是否必要
1 configId configId
1 myfilerar 文件
* 返回示例:

{“message”:{},”sessionId”:”6bacbb02-faf4-416b-bf12-b33d4df328ca”,”success”:”true”,”result”:”修改成功,邮件发

送失败,请检查邮箱配置”}

/api/web/config/filetext/{configId}

  • 描述:以上传文件内容的形式 修改配置文件的值
  • 请求类型: PUT
  • 参数
# name desc 是否必要
1 configId configId
1 fileContent 文件内容
* 返回示例:

{“message”:{},”sessionId”:”6bacbb02-faf4-416b-bf12-b33d4df328ca”,”success”:”true”,”result”:”修改成功,邮件发

送失败,请检查邮箱配置”}

/api/web/config/{configId}

  • 描述:删除配置
  • 请求类型: DELETE
  • 参数
# name desc 是否必要
1 configId configId
* 返回示例:

{“message”:{},”sessionId”:”b2e36172-1a60-479a-acc9-5854e3f93d98”,”success”:”true”,”result”:”删除成功”}

2.6. zk 接口

2.7. /api/zoo/zkdeploy

  • 描述:获取ZK部署情况
  • 请求类型: GET
  • 参数
# name desc 是否必要
1 appId app
2 envId 环境
3 version 版本
* 返回示例: N/A

版权声明:「DDKK.COM 弟弟快看,程序员编程资料站」本站文章,版权归原作者所有

来源:https://disconf.readthedocs.io/zh_CN/latest/index.html