websoft9/appmanage/docs/developer.md

200 lines
6.0 KiB
Markdown
Raw Normal View History

2023-04-10 14:52:59 +08:00
# API设计文档
2023-04-10 13:46:02 +08:00
## API结构
2023-04-10 13:36:02 +08:00
2023-04-10 13:46:02 +08:00
### 请求
2023-04-10 13:54:34 +08:00
### 请求头(公共参数)
| 参数名称 | 用途 |类型 |必要性 |
| ------ | --------------------------------------------- | ------ |------ |
2023-04-10 15:53:11 +08:00
| Version | appmanage接口版本 | string |必须 |
2023-04-10 14:02:26 +08:00
| Language | 接口显示语言 | string |必须 |
2023-04-10 13:54:34 +08:00
> 接口调用安全验证通过nginx
2023-04-10 14:02:26 +08:00
### 请求主体
2023-04-10 14:25:33 +08:00
[详细参照各个接口业务参数](#API接口说明)
2023-04-10 14:02:26 +08:00
### 响应结果
### 响应头(公共参数)
|返回参数 | 用途 |类型 |必要性 |
| ------ | --------------------------------------------- | ------ |------ |
| HTTP状态码 | 判断接口调用是否成功200或404 | Integer |必须 |
### 响应主体
|返回参数 | 用途 |类型 |必要性 |
| ------ | --------------------------------------------- | ------ |------ |
2023-04-10 14:21:54 +08:00
| error | 错误code和错误信息 | object | 非必须 ,无错误时不返回 |
2023-04-10 14:13:40 +08:00
| responseData | 各个接口的业务数据 | object |必须 |
2023-04-10 14:13:58 +08:00
2023-04-10 14:14:23 +08:00
```
2023-04-10 14:13:40 +08:00
{
2023-04-10 15:51:17 +08:00
"ResponseData": {app_id: "xxxx"},
2023-04-10 14:13:40 +08:00
"Error": {
2023-04-10 15:51:17 +08:00
"Code": "Requirement.NotEnough",
"Message": "Insufficient system resources (cpu, memory, disk space)."
2023-04-10 14:13:40 +08:00
}
}
2023-04-10 14:14:23 +08:00
```
2023-04-10 13:46:02 +08:00
2023-04-10 14:25:10 +08:00
## API接口说明
2023-04-10 14:24:13 +08:00
2023-04-10 14:31:01 +08:00
各个业务接口的详细说明,公共参数不在这里继续说明。
2023-04-10 15:45:41 +08:00
### app 安装接口
#### 请求URL
请求URL=FastAPI通用URL/AppInstall
#### 请求参数
| 参数名称 | 用途 |类型 |必要性 |
| ------ | --------------------------------------------- | ------ |------ |
| app_name | 应用名称 | string |必须 |
| customer_app_name | 用户自定义应用名称 | string |必须 |
| app_version | 应用版本 | string |必须 |
#### 返回结果
2023-04-10 15:49:52 +08:00
| 返回值 |类型 |必要性 |
| ------ | ------ |------ |
2023-04-10 15:52:21 +08:00
| ResponseData | String(AppID) |必须 |
2023-04-10 15:49:52 +08:00
| error | ErrorInfo |非必须 |
2023-04-10 15:45:41 +08:00
AppID 说明:
```
{
app_id应用ID
}
```
ErrorInfo 说明:
| code |message |
| --------------------------------------------- | ------ |
2023-04-10 15:56:28 +08:00
| Param.AppName.Blank | APP名称为空 |
| Param.AppName.NotExis | 不支持安装指定的App |
2023-04-10 15:45:41 +08:00
| Param.CustomerAppName.Blank | 用户自定义APP名称为空 |
| Param.CustomerAppName.FormatError | 查询的APP_ID只能是数字和小写字母组成 |
| Param.CustomerAppName.Repeat | 已经安装了此应用请重新指定APP名称 |
| Param.CustomerAppName.Wait | 同名应用已经在安装等待中请重新指定APP名称 |
| Requirement.NotEnough| 系统资源cpu内存磁盘空间不足 |
2023-04-10 15:49:07 +08:00
| Container.Command.Error | 操作容器指令发生错误 |
2023-04-10 15:45:41 +08:00
| SystemError |系统异常,请联系管理员(系统报错返回) |
2023-04-10 15:28:23 +08:00
### app 状态查询接口
#### 请求URL
请求URL=FastAPI通用URL/AppStatus
#### 请求参数
| 参数名称 | 用途 |类型 |必要性 |
| ------ | --------------------------------------------- | ------ |------ |
| app_id | 查询该app的信息 | string |必须 |
#### 返回结果
2023-04-10 15:49:07 +08:00
| 返回值 |类型 |必要性 |
| ------ | ------ |------ |
| ResponseData | AppStatusInfo |必须 |
| error | ErrorInfo |非必须 |
2023-04-10 15:28:23 +08:00
AppStatusInfo 说明:
```
{
app_id应用ID,
name应用名,
customer_name自定义应用名,
trade_mark应用商标,
status_code应用运行状态码,queuing:'00',pulling:'10'creating:'11'initing:'12'running:'30'stop'40'error'50'
status应用运行状态,queuing:排队等待,pulling:镜像拉取中creating:容器启动中initing:初始化中running:正常运行stop停止error错误
official_app是否为官方应用,
image_url图片路径
}
```
ErrorInfo 说明:
| code |message |
| --------------------------------------------- | ------ |
2023-04-10 15:56:28 +08:00
| Param.APPID.Blank | 查询的APP_ID为空 |
| Param.APPID.FormatError | 查询的APP_ID只能是数字和小写字母组成 |
2023-04-10 15:28:23 +08:00
| APP.NotExis | 查询的APP没有安装 |
2023-04-10 15:56:28 +08:00
| Container.CommandError | 操作容器指令发生错误 |
2023-04-10 15:31:03 +08:00
| SystemError |系统异常,请联系管理员(系统报错返回) |
2023-04-10 15:28:23 +08:00
2023-04-10 14:24:13 +08:00
### app 列表查询接口
2023-04-10 14:31:01 +08:00
2023-04-10 14:51:42 +08:00
#### 请求URL
2023-04-10 15:28:23 +08:00
请求URL=FastAPI通用URL/AppList
2023-04-10 14:51:42 +08:00
2023-04-10 14:31:01 +08:00
#### 请求参数
2023-04-10 14:27:39 +08:00
| 参数名称 | 用途 |类型 |必要性 |
| ------ | --------------------------------------------- | ------ |------ |
| app_name | 查询app列表信息当app_name不为空时查询该app的信息 | string |非必须 |
2023-04-10 14:31:01 +08:00
#### 返回结果
2023-04-10 15:49:07 +08:00
| 返回值 |类型 |必要性 |
| ------ | ------ |------ |
| ResponseData | AppDetailInfo list |必须 |
| error | ErrorInfo |非必须 |
2023-04-10 14:51:42 +08:00
AppDetailInfo 说明:
2023-04-10 15:01:45 +08:00
```
{
app_id应用ID,
name应用名,
customer_name自定义应用名,
trade_mark应用商标,
2023-04-10 15:20:07 +08:00
status_code应用运行状态码,queuing:'00',pulling:'10'creating:'11'initing:'12'running:'30'stop'40'error'50'
2023-04-10 15:01:45 +08:00
2023-04-10 15:20:07 +08:00
status应用运行状态,queuing:排队等待,pulling:镜像拉取中creating:容器启动中initing:初始化中running:正常运行stop停止error错误
2023-04-10 15:01:45 +08:00
official_app是否为官方应用,
2023-04-10 15:28:23 +08:00
image_url图片路径,
2023-04-10 15:20:07 +08:00
running_info: { // 只有status=running才有值其他时候为空
2023-04-10 15:01:45 +08:00
port应用端口,
2023-04-10 15:20:07 +08:00
compose_filedocker compose文件路径,
2023-04-10 15:01:45 +08:00
url应用网址,
admin_url管理员网址,
user_name用户名,
password密码,
}
}
```
2023-04-10 14:51:42 +08:00
ErrorInfo 说明:
2023-04-10 15:28:23 +08:00
| code |message |
| --------------------------------------------- | ------ |
2023-04-10 15:56:28 +08:00
| Container.CommandError | 操作容器指令发生错误 |
2023-04-10 15:31:03 +08:00
| SystemError |系统异常,请联系管理员(系统报错返回) |