websoft9/appmanage/docs/developer.md
qiaofeng1227 d4400edb82 docs
2023-05-30 16:49:29 +08:00

7.5 KiB
Raw Blame History

API 设计文档

API 结构

请求

请求方式

支持如下两种调用方式:

  • get
  • post

请求头(公共参数)

参数名称 用途 类型 必要性
Version 接口版本 string 可选
Language 接口显示语言 string 可选

安全验证

本微服务没有安全验证模块,需通过 API 网关实现

请求主体

业务接口详情

响应结果

响应头(公共参数)

返回参数 用途 类型 必要性
HTTP 状态码 判断接口调用是否成功200 或 404 Integer 必须

响应主体

返回参数 用途 类型 必要性
ResponseData 各个接口的业务数据 object(依据接口而异) 必须
Error 错误 code 和错误信息 ErrorInfo 非必须 ,无错误时不返回
{
  "ResponseData": {
           app_id: "xxxx",
           StatusReason: {
              Code: "Requirement.NotEnough",
              Message: "Insufficient system resources (cpu, memory, disk space).",
              Detail: "Error detail information"
           }
          },
  "Error": {
            Code: "Requirement.NotEnough",
            Message: "Insufficient system resources (cpu, memory, disk space).",
            Detail: "Error detail information"
           }
}

错误代码设计

错误代码参考 AWS API 的分类方式:

  • Client errors: These errors are usually caused by something the client did, such as specifying an incorrect or invalid parameter in the request, or using an action or resource on behalf of a user that doesn't have permission to use the action or resource. These errors are accompanied by a 400-series HTTP response code.

  • Server errors: These errors are usually caused by an AWS server-side issue. These errors are accompanied by a 500-series HTTP response code.

Client errors
code message detail
Client.Parameter.Blank.Error p 必填参数为空 null
Client.Parameter.Format.Error p 参数语法不符 null
Client.Parameter.Value.NotExist.Error p 参数值错误 null
Client.Parameter.Value.Repeat.Error p 参数值重复 null
Server errors
code message detail
Server.Container.Error Docker 返回原始错误 错误详细信息
Server.SystemError 系统原始错误 错误详细信息
Server.*** 其他可以友好提示的错误 错误详细信息

业务接口详情

各个业务接口的详细说明,公共参数不在这里继续说明。

App 安装

Action

AppInstall

请求参数

参数名称 用途 类型 必要性
app_name 应用名称 string 必须
customer_app_name 用户自定义应用名称 string 必须
app_version 应用版本 string 必须

返回结果

返回值 类型 必要性
ResponseData String(AppID) 必须
Error ErrorInfo 非必须

App 卸载

Action

AppUninstall

请求参数

参数名称 用途 类型 必要性
app_id 卸载该 app string 必须

返回结果

返回值 类型 必要性
ResponseData String(AppID) 必须
error ErrorInfo 非必须

App 重启

Action

AppRestart

请求参数

参数名称 用途 类型 必要性
app_id 重启该 app string 必须

返回结果

返回值 类型 必要性
ResponseData String(AppID) 必须
error ErrorInfo 非必须

App 启动

Action

AppStart

请求参数

参数名称 用途 类型 必要性
app_id 启动该 app string 必须

返回结果

返回值 类型 必要性
ResponseData String(AppID) 必须
error ErrorInfo 非必须

App 停止

Action

AppStop

请求参数

参数名称 用途 类型 必要性
app_id 停止该 app string 必须

返回结果

返回值 类型 必要性
ResponseData String(AppID) 必须
error ErrorInfo 非必须

App 状态查询

Action

AppStatus

请求参数

参数名称 用途 类型 必要性
app_id 查询该 app 的信息 string 必须

返回结果

返回值 类型 必要性
ResponseData AppStatusInfo 必须
error ErrorInfo 非必须

AppStatusInfo 说明:

{

app_id应用ID,

status应用运行状态,[installing(创建中)running(运行中)exited(停止)restarting(反复重启)failed(失败)]

  status_reason{ // 只有failed时才有内容
    Code错误代码
    Message错误提示信息
    Detail错误真实信息
  }

}

App 列表查询

Action

AppList

请求参数

参数名称 用途 类型 必要性
app_id 查询指定的 app string 非必须

返回结果

返回值 类型 必要性
ResponseData Array of AppDetailInfo 必须
error ErrorInfo 非必须

AppDetailInfo 说明:

{

app_id应用ID,

name应用名,

customer_name自定义应用名,

trade_mark应用商标,

status应用运行状态,[installing(创建中)running(运行中)exited(停止)restarting(反复重启)failed(失败)]

  status_reason{ // 只有failed时才有内容
    Code错误代码
    Message错误提示信息
    Detail错误真实信息
  },

  official_app是否为官方应用,

  image_url图片路径,

  running_info: { // 只有status=running才有值其他时候为空

      port应用端口,

    compose_filedocker compose文件路径,

    url应用网址,

      admin_url管理员网址,

    user_name用户名,

    password密码,

      default_domain: 默认域名,

      set_domain: 用户自定义域名,
  }

}