12-open-api-for-web.md 10 KB

Tutorial 12 disconf-web 为界面 开放的 Http API

前言

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

以下接口均需要权限控制

app接口

/api/app/list

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

    {"message":{},"sessionId":"3e560be1-9000-4a5c-8371-35312040d8","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-f7a62d9194","success":"true","result":"创建成功"}

auth接口

/api/account/session

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

    {"message":{},"sessionId":"9d466ef4-1782-451a-8a4c-e2b99601dc","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-8433fb8a8c","success" :"false","status":2000}

    或成功示例

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

/api/account/signout

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

    {"message":{},"sessionId":"e6c3134d-ba55-4e34-837d-46d08604e2","success":"true","result":{"ok":"ok" }}

env接口

/api/env/list

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

    {"message":{},"sessionId":"826141a9-3255-4beb-88c8-018e40981f","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}}

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-96d2eb2820","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-05ed0be6b0","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-05ed0be6b0","success":"true","result":"创建成功"}

/api/web/config/versionlist

  • 描述:根据app, env 获取所有的 版本列表
  • 请求类型: GET
  • 参数

    # name desc 是否必要
    1 appId app
    2 envId 环境
  • 返回示例:

    {"message":{},"sessionId":"cd908c6a-1dba-42b4-8a6f-3cb997ffb7","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-dd556454ec","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-2600598f41" ,"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-2600598f41" ,"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-f8f33beda4","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-ad1bf4980c","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-0336c132fe","success":"true","result":{"datalist" :[{"machine":"localhost_0_4b860678-290a-4bdf-9a79-2600598f41","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-f215266d63","success":"true","result":"修改成功,邮件发 送失败,请检查邮箱配置"}

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

  • 描述:以上传文件的形式 修改配置文件的值
  • 请求类型: PUT
  • 参数

    # name desc 是否必要
    1 configId configId
    1 myfilerar 文件
  • 返回示例: {"message":{},"sessionId":"6bacbb02-faf4-416b-bf12-b33d4df328","success":"true","result":"修改成功,邮件发 送失败,请检查邮箱配置"}

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

  • 描述:以上传文件内容的形式 修改配置文件的值
  • 请求类型: PUT
  • 参数

    # name desc 是否必要
    1 configId configId
    1 fileContent 文件内容
  • 返回示例: {"message":{},"sessionId":"6bacbb02-faf4-416b-bf12-b33d4df328","success":"true","result":"修改成功,邮件发 送失败,请检查邮箱配置"}

/api/web/config/{configId}

  • 描述:删除配置
  • 请求类型: DELETE
  • 参数

    # name desc 是否必要
    1 configId configId
  • 返回示例: {"message":{},"sessionId":"b2e36172-1a60-479a-acc9-5854e3f93d","success":"true","result":"删除成功"}

zk 接口

/api/zoo/zkdeploy

  • 描述:获取ZK部署情况
  • 请求类型: GET
  • 参数

    # name desc 是否必要
    1 appId app
    2 envId 环境
    3 version 版本
  • 返回示例: N/A