

AWS 大型机现代化服务（托管运行时环境体验）不再向新客户开放。有关类似于 AWS 大型机现代化服务（托管运行时环境体验）的功能，请浏览 AWS 大型机现代化服务（自我管理体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Blusam应用程序控制台 REST 端点
<a name="ba-endpoints-bac"></a>

在本节中，您可以了解Blusam应用程序控制台，这是一款旨在简化现代化 VSAM 数据集管理的 API。BlusamWeb 应用程序的端点使用根路径`/bac`。

**Topics**
+ [数据集相关端点](#ba-endpoints-bac-datasets)
+ [批量处理数据集相关端点](#ba-endpoints-bac-bulk)
+ [记录](#ba-endpoints-bac-records)
+ [掩码](#ba-endpoints-bac-masks)
+ [其他](#ba-endpoints-bac-other)
+ [BAC 用户管理端点](#ba-endpoints-bac-users)

## 数据集相关端点
<a name="ba-endpoints-bac-datasets"></a>

使用以下端点创建或管理特定的数据集。

**Topics**
+ [创建数据集](#ba-create-data-set)
+ [上传文件](#ba-upload-file)
+ [加载数据集（POST）](#ba-load-data-set-post)
+ [加载数据集（GET）](#ba-load-data-set-get)
+ [从 Amazon S3 存储桶加载数据集](#ba-load-data-set-s3)
+ [将数据集导出到 Amazon S3 存储桶](#ba-export-data-set-s3)
+ [清除数据集](#ba-clear-data-set)
+ [删除数据集](#ba-delete-data-set)
+ [统计数据集记录数](#ba-count-data-set-records)

### 创建数据集
<a name="ba-create-data-set"></a>

可使用此端点创建数据集定义。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/createDataSet`
+ 参数：  
name  
（必需，字符串）：数据集的名称。  
类型  
（必需，字符串）：数据集类型。可能的值为：`ESDS`、`KSDS`、`RRDS`。  
recordSize  
（可选，字符串）：数据集每条记录的最大大小。  
fixedLength  
（可选，布尔值）：表示记录长度是否固定。  
compression  
（可选，布尔值）：表示数据集是否压缩。  
cacheEnable  
（可选，布尔值）：表示是否为数据集启用缓存。  
alternativeKeys  
（可选，键列表）：  
  + offset（必需，数字）
  + length（必需，数字）
  + name（必需，数字）
+ 返回一个代表新创建的数据集的 JSON 文件。

示例请求：

```
POST /api/services/rest/bluesamservice/createDataSet
{
  "name": "DATASET",
  "checked": false,
  "records": [],
  "primaryKey": {
    "name": "PK"
  },
  "alternativeKeys": [
    {
      "offset": 10,
      "length": 10,
      "name": "ALTK_0"
    }
  ],
  "type": "ESDS",
  "recordSize": 10,
  "compression": true,
  "cacheEnable": true
}
```

示例响应:

```
{
    "dataSet": {
      "name": "DATASET",
      "checked": false,
      "nbRecords": 0,
      "keyLength": -1,
      "recordSize": 10,
      "compression": false,
      "fixLength": true,
      "type": "ESDS",
      "cacheEnable": false,
      "cacheWarmup": false,
      "cacheEviction": "100ms",
      "creationDate": 1686744961234,
      "modificationDate": 1686744961234,
      "records": [],
      "primaryKey": {
        "name": "PK",
        "offset": null,
        "length": null,
        "columns": null,
        "unique": true
      },
      "alternativeKeys": [
        {
          "offset": 10,
          "length": 10,
          "name": "ALTK_0"
        }
      ],
      "readLimit": 0,
      "readEncoding": null,
      "initCharacter": null,
      "defaultCharacter": null,
      "blankCharacter": null,
      "strictZoned": null,
      "decimalSeparator": null,
      "currencySign": null,
      "pictureCurrencySign": null
    },
    "message": null,
    "result": true
  }
```

### 上传文件
<a name="ba-upload-file"></a>

可使用此端点将文件上传到服务器。文件存储在与每个特定用户相对应的临时文件夹中。每次需要上传文件时都使用此端点。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/upload`
+ 参数：  
file  
（必需，多部分/形式数据）：要上传的文件。
+ 返回表示上传状态的布尔值

### 加载数据集（POST）
<a name="ba-load-data-set-post"></a>

使用 `createDataSet` 创建数据集定义后，可以将与上传的文件关联的记录加载到特定的数据集中。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/loadDataSet`
+ 参数：  
name  
（必需，字符串）：数据集的名称。
+ 返回请求的状态和已加载的数据集。

### 加载数据集（GET）
<a name="ba-load-data-set-get"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/loadDataSet`
+ 参数：  
listcatFileOrDatasetName  
（必需，字符串）：数据集的名称。  
数据集文件  
（必需，字符串）：数据集文件名称。
+ 返回请求的状态和已加载的数据集。

### 从 Amazon S3 存储桶加载数据集
<a name="ba-load-data-set-s3"></a>

使用 Amazon S3 存储桶中的 listcat 文件加载数据集。
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/loadDataSetFromS3`
+ 参数：  
listcatFileS3Location  
（必需，字符串）：listcat 文件在 Amazon S3 中的位置。  
datasetFileS3Location  
（必需，字符串）：数据集文件在 Amazon S3 中的位置。  
region  
（必填，字符串）：存储文件的 Amazon S3 AWS 区域 。
+ 返回新创建的数据集

示例请求：

```
/BAC/api/services/rest/bluesamservice/loadDataSetFromS3?region=us-east-1&listcatFileS3Location=s3://bucket-name/listcat.json&datasetFileS3Location=s3://bucket-name/dataset.DAT
```

### 将数据集导出到 Amazon S3 存储桶
<a name="ba-export-data-set-s3"></a>

将数据集导出到指定的 Amazon S3 存储桶。
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/exportDataSetToS3`
+ 参数：  
s3Location  
（必需，字符串）：将数据集文件导出到 Amazon S3 中的位置。  
datasetName   
（必需，字符串）：要导出的数据集的名称。  
region  
（必填，字符串）：Amazon S3 存储桶的。 AWS 区域   
kmsKeyId  
（可选，字符串）：用于加密导出到 Amazon S3 存储桶的数据集的 AWS KMS ID。
+ 返回导出的数据集

示例请求：

```
/BAC/api/services/rest/bluesamservice/exportDataSetToS3?region=eu-west-1&s3Location=s3://bucket-name/dump&datasetName=dataset
```

### 清除数据集
<a name="ba-clear-data-set"></a>

 清除数据集中的所有记录。
+ 支持的方法：GET、POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/clearDataSet`
+ 参数：  
name  
（必需，字符串）：要清除的数据集的名称。使用 GET 方法时，参数名称为`datasetName`。
+ 返回请求的状态。

### 删除数据集
<a name="ba-delete-data-set"></a>

删除数据集定义和记录。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/deleteDataSet`
+ 参数：  
name  
（必需，字符串）：要删除的数据集的名称。
+ 返回请求的状态和已删除的数据集。

### 统计数据集记录数
<a name="ba-count-data-set-records"></a>

此端点会返回与数据集关联的记录数。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/countRecords`
+ 参数：  
name  
（必需，字符串）：数据集的名称。
+ 返回：记录数

## 批量处理数据集相关端点
<a name="ba-endpoints-bac-bulk"></a>

使用以下端点同时创建或管理多个数据集。

**Topics**
+ [导出数据集（GET）](#ba-export-data-sets-get)
+ [导出数据集（POST）](#ba-export-data-sets-post)
+ [创建多个数据集](#ba-create-multiple-data-sets)
+ [列出所有数据集](#ba-list-all-data-sets)
+ [直接列出所有数据集](#ba-direct-list-all-data-sets)
+ [按页直接列出所有数据集](#ba-direct-list-all-data-sets-by-page)
+ [流式传输数据集](#ba-stream-data-sets)
+ [删除所有数据集](#ba-delete-all-data-sets)
+ [从 listcat 文件中获取数据集定义](#ba-get-definitions-listcat)
+ [从上传的 listcat 文件中获取数据集定义](#ba-get-definitions-uploaded-listcat)
+ [获取数据集](#ba-get-data-set)
+ [从 JSON 文件加载 listcat](#ba-load-listcat)

### 导出数据集（GET）
<a name="ba-export-data-sets-get"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/exportDataSet`
+ 参数：  
datasetName  
（必需，字符串）：要导出的数据集的名称。  
datasetOutputFile  
（必需，字符串）：服务器上要用于存储导出的数据集的文件夹路径。  
rdw  
（必需，布尔值）：是否要在导出的记录中包含记录描述字（RDW）。如果数据集中的记录具有固定的长度，则会忽略此参数的值。
+ 返回请求的状态和包含导出数据集（如有）的文件的路径。如果响应中的数据集为空，则表示系统无法找到具有给定名称的数据集。

### 导出数据集（POST）
<a name="ba-export-data-sets-post"></a>
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/exportDataSet`
+ 参数：  
dumpParameters  
（必填， BACRead参数）：Bluesam 读取参数。
+ 返回导出的数据集的状态。

### 创建多个数据集
<a name="ba-create-multiple-data-sets"></a>
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/createAllDataSets`
+ 参数：
  + 数据集列表  
name  
（必需，字符串）：数据集的名称。  
类型  
（必需，字符串）：数据集类型。可能的值为：`ESDS`、`KSDS`、`RRDS`。  
recordSize  
（可选，字符串）：数据集每条记录的最大大小。  
fixedLength  
（可选，布尔值）：表示记录长度是否固定。  
compression  
（可选，布尔值）：表示数据集是否压缩。  
cacheEnable  
（可选，布尔值）：表示是否为数据集启用缓存。
+ 返回：请求的状态和新创建的数据集。

### 列出所有数据集
<a name="ba-list-all-data-sets"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/listDataSet`
+ 参数：无
+ 返回：请求的状态和数据集列表。

### 直接列出所有数据集
<a name="ba-direct-list-all-data-sets"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/directListDataSet`
+ 参数：无
+ 返回：请求的状态和数据集列表。

### 按页直接列出所有数据集
<a name="ba-direct-list-all-data-sets-by-page"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/directListDataSetByPage`
+ 参数：  
name  
（必需，字符串）：数据集的名称。如果未指定，则默认为`%`（所有数据集）。  
page  
（必填，int）：页码（最小值 0）。  
pageSize  
（必填，整数）：页面大小（最小 1，最大 500）。
+ 返回：请求的状态和数据集列表。

### 流式传输数据集
<a name="ba-stream-data-sets"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/streamDataset`
+ 参数：  
datasetName  
（必需，字符串）：数据集的名称。
+ 返回：所请求数据集的流。

### 删除所有数据集
<a name="ba-delete-all-data-sets"></a>
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/removeAll`
+ 参数：无
+ 返回：代表请求状态的布尔值。

### 从 listcat 文件中获取数据集定义
<a name="ba-get-definitions-listcat"></a>
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/getDataSetsDefinitionFromListcat`
+ 参数：  
paramFilePath  
（必需，字符串）：listcat 文件的路径。
+ 返回：数据集列表

### 从上传的 listcat 文件中获取数据集定义
<a name="ba-get-definitions-uploaded-listcat"></a>
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/getDataSetsDefinitionFromUploadedListcat`
+ 参数：无
+ 返回：数据集列表

### 获取数据集
<a name="ba-get-data-set"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/getDataSet`
+ 参数：  
name  
（必需，字符串）：数据集的名称。
+ 返回请求的数据集。

### 从 JSON 文件加载 listcat
<a name="ba-load-listcat"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/loadListcatFromJsonFile`
+ 参数：  
filePath  
（必需，字符串）：listcat 文件的路径。
+ 返回：数据集列表

## 记录
<a name="ba-endpoints-bac-records"></a>

使用以下端点在数据集中创建或管理记录。

**Topics**
+ [创建记录](#ba-create-record)
+ [读取数据集](#ba-read-data-set)
+ [删除记录](#ba-delete-record)
+ [更新记录](#ba-update-record)
+ [保存记录](#ba-save-record)
+ [验证记录](#ba-validate-record)
+ [获取记录树](#ba-get-record-tree)

### 创建记录
<a name="ba-create-record"></a>

可使用此端点创建新记录。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/createRecord`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
mask  
（必需，掩码）：掩码对象。
+ 返回：请求的状态和创建的记录。

### 读取数据集
<a name="ba-read-data-set"></a>

可使用此端点读取数据集。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/readDataSet`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象。
+ 返回请求的状态和带有记录的数据集。

### 删除记录
<a name="ba-delete-record"></a>

可使用此端点从数据集中删除记录。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/deleteRecord`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
记录  
（必需，记录）：要删除的记录
+ 返回删除状态。

### 更新记录
<a name="ba-update-record"></a>

可使用此端点更新与数据集关联的记录。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/updateRecord`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
记录  
（必需，记录）：要更新的记录  
mask  
（可选，Mask）：更新期间要应用的蒙版对象。
+ 返回请求的状态和带有记录的数据集。

### 保存记录
<a name="ba-save-record"></a>

可使用此端点将记录保存到数据集中并使用掩码。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/saveRecord`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
记录  
（必需，记录）：要保存的记录  
mask  
（可选，Mask）：保存期间要应用的蒙版对象。
+ 返回请求的状态和带有记录的数据集。

### 验证记录
<a name="ba-validate-record"></a>

可使用此端点验证记录。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/validateRecord`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
记录  
（可选，记录）：要验证的记录。  
mask  
（可选，Mask）：验证期间要应用的掩码对象。
+ 返回请求的状态和带有记录的数据集。

### 获取记录树
<a name="ba-get-record-tree"></a>

可使用此端点获取记录的分层树。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/getRecordTree`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
记录  
（必需，记录）：要获取的记录  
mask  
（可选，遮罩）：遮罩对象。
+ 返回请求的状态和所请求记录的分层树。

## 掩码
<a name="ba-endpoints-bac-masks"></a>

使用以下端点对数据集加载或应用掩码。

**Topics**
+ [加载掩码](#ba-load-mask)
+ [应用掩码](#ba-apply-mask)
+ [应用掩码过滤器](#ba-apply-mask-filter)

### 加载掩码
<a name="ba-load-mask"></a>

可使用此端点检索与特定数据集关联的所有掩码。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/loadMasks`
+ 路径变量：  
recordSize: .../loadMasks/\$1recordSize\$1  
（可选，数字）：记录大小，筛选条件加载的与此记录大小相匹配的掩码
+ 参数：  
数据集  
（必填， DataSet）：数据集对象
+ 返回请求的状态和掩码列表。

### 应用掩码
<a name="ba-apply-mask"></a>

可使用此端点对特定数据集应用掩码。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/applyMask`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
mask  
（必需，掩码）：数据集对象
+ 返回请求的状态和已应用掩码的数据集。

### 应用掩码过滤器
<a name="ba-apply-mask-filter"></a>

可使用此端点对特定数据集应用掩码和筛选条件。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/crud/applyMaskFilter`
+ 参数：  
数据集  
（必填， DataSet）：数据集对象  
mask  
（必填，遮罩）：遮罩对象  
筛选  
（必填，Filter）：要应用的过滤器对象。
+ 返回请求的状态以及已应用掩码和过滤器的数据集。

## 其他
<a name="ba-endpoints-bac-other"></a>

使用以下端点管理数据集的缓存或检查数据集的特征

**Topics**
+ [检查预热缓存](#ba-check-warm-up-cache)
+ [检查是否已启用缓存](#ba-check-cache-enabled)
+ [启用缓存](#ba-enable-cache)
+ [检查已分配的 RAM 缓存](#ba-check-allocated-ram-cache)
+ [检查持久性](#ba-check-persistence)
+ [检查支持的数据集类型](#ba-check-supported-data-set-types)
+ [检查服务器运行状况](#ba-check-server-health)
+ [检查 PostgreSQL 多架构配置](#ba-check-postgres-multi-schema)

### 检查预热缓存
<a name="ba-check-warm-up-cache"></a>

检查是否已为特定数据集启用预热缓存。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/warmupCache`
+ 参数：  
name  
（必需，字符串）：数据集的名称。
+ 返回：如果已启用预热缓存，则返回 true，否则返回 false。

### 检查是否已启用缓存
<a name="ba-check-cache-enabled"></a>

检查是否已为特定数据集启用缓存。
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/isEnableCache`
+ 参数：无
+ 如果已启用缓存，则返回 true。

### 启用缓存
<a name="ba-enable-cache"></a>
+ 支持的方法：POST
+ 需要身份验证以及 ROLE\$1ADMIN 和 ROLE\$1SUPER\$1ADMIN 角色。
+ 路径：`/api/services/rest/bluesamservice/enableDisableCache/{enable}`
+ 参数：  
enable  
（必需，布尔值）：如果设置为 true，将启用缓存。  
数据集  
（必填， DataSet）：数据集对象。
+ 不返回任何内容

### 检查已分配的 RAM 缓存
<a name="ba-check-allocated-ram-cache"></a>

可使用此端点检索已分配的 RAM 缓存。
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/allocatedRamCache`
+ 参数：无
+ 返回：表示内存大小的字符串

### 检查持久性
<a name="ba-check-persistence"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/persistence`
+ 参数：无
+ 返回：表示使用的持久性，以字符串形式表示。

### 检查支持的数据集类型
<a name="ba-check-supported-data-set-types"></a>
+ 支持的方法：GET
+ 路径：`/api/services/rest/bluesamservice/getDataSetTypes`
+ 需要身份验证和 ROLE\$1USER 角色。
+ 参数：无
+ 返回：支持的数据集类型列表，以字符串列表形式显示。

### 检查服务器运行状况
<a name="ba-check-server-health"></a>
+ 支持的方法：GET
+ 路径：`/api/services/rest/bluesamserver/serverIsUp`
+ 参数：无
+ 返回：无。HTTP 响应状态代码 200 表示服务器已启动并正在运行。

### 检查 PostgreSQL 多架构配置
<a name="ba-check-postgres-multi-schema"></a>

检查 PostgreSQL 多架构配置是否已启用。
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1USER 角色。
+ 路径：`/api/services/rest/bluesamservice/isPostgresMultiSchema`
+ 参数：无
+ 返回：如果启用 PostgreSQL 多架构配置，则返回 true，否则返回 false。

## BAC 用户管理端点
<a name="ba-endpoints-bac-users"></a>

使用以下端点管理用户互动。

**Topics**
+ [登录用户](#ba-log-user-in)
+ [验证系统中是否至少存在一个用户](#ba-verify-at-least-one-user-exists)
+ [记录新用户](#ba-record-new-user)
+ [获取用户信息](#ba-user-info)
+ [列出用户](#ba-list-users)
+ [删除用户](#ba-delete-user)
+ [注销当前用户](#ba-log-user-out)

### 登录用户
<a name="ba-log-user-in"></a>
+ 支持的方法：POST
+ 路径：`/api/services/security/servicelogin/login`
+ 参数：无
+ 返回 `com.netfective.bluage.bac.entities.SignOn` 对象的 JSON 序列化，表示在当前请求中提供凭证的用户。在返回的对象中，密码隐藏不可见，并且会列出赋予用户的角色。

示例响应:

```
{
     "login": "some-admin",
     "password": null,
     "roles": [
       {
         "id": 0,
         "roleName": "ROLE_ADMIN"
       }
     ]
   }
```

### 验证系统中是否至少存在一个用户
<a name="ba-verify-at-least-one-user-exists"></a>
+ 支持的方法：GET
+ 路径：`/api/services/security/servicelogin/hasAccount`
+ 参数：无
+ 如果除默认超级管理员用户之外，还创建了至少一个用户，则会返回布尔值 `true`。否则返回 `false`。

### 记录新用户
<a name="ba-record-new-user"></a>
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/security/servicelogin/recorduser`
+ 参数：`com.netfective.bluage.bac.entities.SignOn` 对象的 JSON 序列化，表示要添加到存储中的用户。必须定义该用户的角色，否则用户可能无法使用 BAC 设施和端点。
+ 如果成功创建用户，则返回布尔值 `true`。否则返回 `false`。
+ 示例请求 JSON：

  ```
   {
       "login": "simpleuser",
       "password": "simplepassword",
       "roles": [
         {
           "id": 2,
           "roleName": "ROLE_USER"
         }
       ]
     }
  ```

  `roleName` 的两个有效值如下：
  + `ROLE_ADMIN`: 可以管理Blusam资源和用户。
  + `ROLE_USER`: 可以管理Blusam资源但不能管理用户。

### 获取用户信息
<a name="ba-user-info"></a>
+ 支持的方法：GET
+ 路径：`/api/services/security/servicelogin/userInfo`
+ 参数：无
+ 返回当前连接的用户的用户名和角色

### 列出用户
<a name="ba-list-users"></a>
+ 支持的方法：GET
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/security/servicelogin/listusers`
+ 参数：无
+ 返回 `com.netfective.bluage.bac.entities.SignOn` 列表，采用 JSON 序列化。

### 删除用户
<a name="ba-delete-user"></a>

**重要**  
并且无法撤消。已删除的用户将无法再次连接到 BAC 应用程序。
+ 支持的方法：POST
+ 需要身份验证和 ROLE\$1ADMIN 角色。
+ 路径：`/api/services/security/servicelogin/deleteuser`
+ 参数：`com.netfective.bluage.bac.entities.SignOn` 对象的 JSON 序列化，表示要从存储中删除的用户。
+ 如果成功删除用户，则返回布尔值 `true`。

### 注销当前用户
<a name="ba-log-user-out"></a>
+ 支持的方法：GET
+ 路径：`/api/services/security/servicelogout/logout`
+ 参数：无
+ 如果成功注销当前用户，则返回 JSON 消息 `{"success":true}`。相关的 HTTP 会话将失效。