2. Tutorial 12 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”:”31617346-2020-4016-bc0d-f7a62d91945b”,”success”:”true”,”result”:”创建成功”}

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