

AWS Mainframe Modernization Service （受管執行期環境體驗） 不再向新客戶開放。對於與 AWS Mainframe Modernization Service （受管執行期環境體驗） 類似的功能，探索 AWS Mainframe Modernization Service （自我管理體驗）。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS 大型主機現代化可用性變更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在適用於大型主機的 AWS Transform 中管理 JICS 應用程式主控台
<a name="ba-endpoints-jac"></a>

JICS 元件是適用於大型主機的 AWS 轉換，可支援傳統 CICS 資源的現代化。JICS 應用程式主控台 Web 應用程式專用於管理 JICS 資源。下列端點允許 執行管理任務，而不必與 JAC 使用者介面互動。每當端點需要身分驗證時，請求就必須包含身分驗證詳細資訊 （使用者名稱/密碼通常是基本身分驗證所要求）。JICS 應用程式主控台 Web 應用程式的端點使用根路徑 `/jac/`。

**Topics**
+ [JICS 資源管理](#ba-endpoints-jac-resources)
+ [其他](#ba-endpoints-jac-other)
+ [JAC 使用者管理端點](#ba-endpoints-jac-users)

## JICS 資源管理
<a name="ba-endpoints-jac-resources"></a>

下列所有端點都與 JICS 資源管理相關，可讓 JICS 管理員每天處理資源。

**Topics**
+ [列出 JICS LISTS 和 GROUPS](#list-jics-lists-groups)
+ [擷取 JICS 資源](#retrieve-jics-resources)
+ [列出 JICS GROUPS](#list-jics-groups)
+ [列出指定 LIST 的 JICS GROUPS](#list-jics-groups-given-list)
+ [指定 GROUP 的 LIST JICS 資源](#list-jics-resources-given-group)
+ [指定 GROUP 的 LIST JICS 資源 （使用名稱的替代方法）](#list-jics-resources-given-group-alt)
+ [編輯數個 LISTS 的擁有 GROUPS](#edit-owned-groups-lists)
+ [刪除 LIST](#delete-list)
+ [刪除 GROUP](#delete-group)
+ [刪除交易](#delete-transaction)
+ [刪除程式](#delete-program)
+ [刪除檔案](#delete-file)
+ [刪除 TDQUEUE](#delete-tdqueue)
+ [刪除 TSMODEL](#delete-tsmodel)
+ [刪除元素](#delete-elements)
+ [建立 LIST](#create-list)
+ [建立 GROUP](#create-group)
+ [常見的 RESOURCES 建立考量事項](#common-create-considerations)
+ [建立交易](#create-transaction)
+ [建立計畫](#create-program)
+ [建立 檔案](#create-file)
+ [建立 TDQUEUE](#create-tdqueue)
+ [建立 TSMODEL](#create-tsmodel)
+ [建立元素](#create-elements)
+ [更新 LIST](#update-list)
+ [更新 GROUP](#update-group)
+ [常見的 RESOURCES 更新考量事項](#common-update-considerations)
+ [更新交易](#update-transaction)
+ [更新程式](#update-program)
+ [更新檔案](#update-file)
+ [更新 TDQUEUE](#update-tdqueue)
+ [更新 TSMODEL](#update-tsmodel)
+ [更新元素](#update-elements)
+ [Upsert 元素](#upsert-elements)
+ [擷取元素](#retrieve-elements)
+ [JICS CRUD 操作](#jics-crud-operation)

### 列出 JICS LISTS 和 GROUPS
<a name="list-jics-lists-groups"></a>

LIST 和 GROUPS 是 JICS 元件中主要擁有的容器資源。所有 JICS 資源都必須屬於 GROUP。群組可以屬於 LISTS，但這不是強制性的。LISTS 甚至可能不存在於指定的 JICS 環境，但大多數情況下，LISTS 會為資源提供額外的組織層。如需 CICS 資源組織的詳細資訊，請參閱 [CICS 資源](https://www.ibm.com/docs/en/cics-ts/6.1?topic=fundamentals-how-it-works-cics-resources)。
+ 支援的方法：GET
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/listJicsListsAndGroups`
+ 引數：無
+ 傳回：序列化 JicsContainer 物件的清單，兩者皆為 LISTS 和 GROUPS，做為 JSON。

回應範例：

```
[
    {
      "name": "Resources",
      "children": [
        {
          "jacType": "JACList",
          "name": "MURACHS",
          "isActive": true,
          "children": [
            {
              "jacType": "JACGroup",
              "name": "MURACHS",
              "isActive": true,
              "children": []
            }
          ]
        },
        {
          "jacType": "JACGroup",
          "name": "TEST",
          "isActive": true,
          "children": []
        }
      ],
      "isExpanded": true
    }
  ]
```

### 擷取 JICS 資源
<a name="retrieve-jics-resources"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/retrieveJicsResources`
+ 引數：代表您要擷取之 JICS 資源的 JSON 承載。這是`com.netfective.bluage.jac.entities.request.RetrieveOperationRequest`物件的 JSON 序列化。
+ 傳回：序列化 JicsResource 物件的清單。物件不會以特定順序傳回，且類型不同，例如 PROGRAM、TRANSACTION、FILE 等。

### 列出 JICS GROUPS
<a name="list-jics-groups"></a>
+ 支援的方法：GET
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/listJicsGroups`
+ 引數：無
+ 以 JSON 傳回序列化 JicsContainer 物件 (GROUPS) 的清單。GROUPS 會傳回，而沒有其擁有的 LIST 資訊。

回應範例：

```
[
    {
      "jacType": "JACGroup",
      "name": "MURACHS",
      "isActive": true,
      "children": []
    },
    {
      "jacType": "JACGroup",
      "name": "TEST",
      "isActive": true,
      "children": []
    }
  ]
```

### 列出指定 LIST 的 JICS GROUPS
<a name="list-jics-groups-given-list"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/listGroupsForList`
+ 引數：JSON 承載，代表您要尋找其 GROUPS 的 JICS LIST。這是`com.netfective.bluage.jac.entities.JACList`物件的 JSON 序列化。

  範例請求：

  ```
  {
      "jacType":"JACList",
      "name":"MURACHS",
      "isActive":true
    }
  ```
+ 將序列化 JicsContainer 物件 (GROUPS) 的清單傳回為 JSON，這些物件會連接到指定的 LIST。GROUPS 會傳回，而沒有其擁有的 LIST 資訊。

  回應範例：

  ```
  [
      {
        "jacType": "JACGroup",
        "name": "MURACHS",
        "isActive": true,
        "children": []
      }
    ]
  ```

### 指定 GROUP 的 LIST JICS 資源
<a name="list-jics-resources-given-group"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/listResourcesForGroup`
+ 引數：JSON 承載，代表您要尋找其資源的 JICS GROUP。這是`com.netfective.bluage.jac.entities.JACGroup`物件的 JSON 序列化。您不需要指定 GROUP 的所有欄位，但名稱是強制性的。

  範例請求：

  ```
  {
      "jacType":"JACGroup",
      "name":"MURACHS",
      "isActive":true
    }
  ```
+ 傳回特定 GROUP 擁有的序列化 JicsResource 物件清單。物件不會以特定順序傳回，且類型不同，例如 PROGRAM、TRANSACTION、FILE 等。

### 指定 GROUP 的 LIST JICS 資源 （使用名稱的替代方法）
<a name="list-jics-resources-given-group-alt"></a>
+ 支援的方法：POST
+ 需要身分驗證
+ 路徑： `/api/services/rest/jicsservice/listResourcesForGroupName`
+ 引數：擁有您要尋找之資源的 GROUP 名稱。
+ 傳回：由指定 GROUP 擁有的序列化 JicsResource 物件清單。物件不會以特定順序傳回，且類型不同，例如 PROGRAM、TRANSACTION、FILE 等。

### 編輯數個 LISTS 的擁有 GROUPS
<a name="edit-owned-groups-lists"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/editGroupsList`
+ 引數：具有子 GROUPS 的 LISTS 集合的 JSON 表示法；

  範例請求：

  ```
  [      
    {
          "jacType": "JACList",
          "name": "MURACHS",
          "isActive": true,
          "children": [
            {
              "jacType": "JACGroup",
              "name": "MURACHS",
              "isActive": true,
              "children": []
            },
            {
              "jacType": "JACGroup",
              "name": "TEST",
              "isActive": true,
              "children": []
            }
          ]
    }
  ]
  ```

  在此編輯之前，只有名為 "MURACHS" 的群組屬於名為 "MURACHS" 的 LIST。透過此編輯，您「新增」名為「TEST」的群組至名為「MURACHS」的 LIST。
+ 傳回布林值。如果值為 'true'，則 LISTS 修改已成功保留到基礎 JICS 儲存體。

### 刪除 LIST
<a name="delete-list"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteList`
+ 引數：JSON 承載，代表要刪除的 JICS LIST。這是`com.netfective.bluage.jac.entities.JACList`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，則 LIST 刪除已成功在基礎 JICS 儲存體上操作。

### 刪除 GROUP
<a name="delete-group"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteGroup`
+ 引數：JSON 承載，代表要刪除的 JICS GROUP。這是`com.netfective.bluage.jac.entities.JACGroup`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，表示已成功在基礎 JICS 儲存體上操作 GROUP 刪除。

### 刪除交易
<a name="delete-transaction"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteTransaction`
+ 引數：JSON 承載，代表要刪除的 JICS 交易。這是`com.netfective.bluage.jac.entities.JACTransaction`物件的 JSON 序列化。
+ 傳回布林值。如果值為「true」，則已成功在基礎 JICS 儲存體上操作 TRANSACTION 刪除。

### 刪除程式
<a name="delete-program"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteProgram`
+ 引數：JSON 承載，代表要刪除的 JICS 程式。這是`com.netfective.bluage.jac.entities.JACProgram`物件的 JSON 序列化。
+ 傳回布林值。如果值為「true」，表示 PROGRAM 刪除已成功在基礎 JICS 儲存體上操作。

### 刪除檔案
<a name="delete-file"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteFile`
+ 引數：JSON 承載，代表要刪除的 JICS 檔案。這是`com.netfective.bluage.jac.entities.JACFile`物件的 JSON 序列化。
+ 傳回布林值。如果值為「true」，則已成功在基礎 JICS 儲存體上操作 FILE 刪除。

### 刪除 TDQUEUE
<a name="delete-tdqueue"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteTDQueue`
+ 引數：JSON 承載，代表要刪除的 JICS TDQUEUE。這是 `com.netfective.bluage.jac.entities.JACTDQueue` 物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，則已成功在基礎 JICS 儲存體上操作 TDQUEUE 刪除。

### 刪除 TSMODEL
<a name="delete-tsmodel"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteTSModel`
+ 引數：JSON 承載，代表要刪除的 JICS TSMODEL。這是 `com.netfective.bluage.jac.entities.JACTSModel` 物件的 JSON 序列化。
+ 傳回布林值。如果值為「true」，TSMODEL 刪除已成功在基礎 JICS 儲存體上操作。

### 刪除元素
<a name="delete-elements"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/deleteElements`
+ 引數：代表要刪除之 JICS 元素的 JSON 承載。
+ 傳回布林值，其中 `true` 表示刪除已成功在基礎 JICS 儲存體中操作。

### 建立 LIST
<a name="create-list"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createList`
+ 引數：JSON 承載，代表要建立的 JICS LIST。這是 `com.netfective.bluage.jac.entities.JACList` 物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，表示已成功在基礎 JICS 儲存體中建立 LIST。

**注意**  
LIST 一律會建立空白。將 GROUPS 連接到 LIST 需要另一個操作。

### 建立 GROUP
<a name="create-group"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createGroup`
+ 引數：JSON 承載，代表要建立的 JICS GROUP。這是`com.netfective.bluage.jac.entities.JACGroup`物件的 JSON 序列化。
+ 傳回布林值。如果值為「true」，表示已在基礎 JICS 儲存體中正確建立 GROUP。

**注意**  
GROUP 一律會建立空白。將資源連接到 GROUP 需要額外的操作 （建立資源會自動將其連接到指定的 GROUP。

### 常見的 RESOURCES 建立考量事項
<a name="common-create-considerations"></a>

下列所有端點都與 JICS RESOURCES 建立相關，並共用一些常見的限制：在要傳送至端點的請求承載中，必須重視 `groupName` 欄位。

GROUP 擁有權限制：

無法在未連接至現有群組的情況下建立資源，而端點會使用 groupName 來擷取要連接此資源的群組。必須`groupName`指向現有 GROUP 的名稱。如果 `groupName` 未指向 JICS 基礎儲存體中的現有群組，則會傳送具有 HTTP STATUS 400 的錯誤訊息。

GROUP 中的 Unicity 限制條件：

具有指定名稱的指定資源在指定群組中必須是唯一的。每個資源建立端點都會執行 Unicity 檢查。如果指定的承載不遵守單一限制，端點將傳送 HTTP STATUS 400 (BAD REQUEST) 的回應 -- 請參閱以下範例回應。

承載範例：您嘗試在 'TEST' 群組中建立交易 'ARIT'，但具有該名稱的交易已存在於該群組中。

```
{
    "jacType":"JACTransaction",
    "name":"ARIT", 
    "groupName":"TEST", 
    "isActive":true
  }
```

您會收到下列錯誤回應：

```
{
    "timestamp": 1686759054510,
    "status": 400,
    "error": "Bad Request",
    "path": "/jac/api/services/rest/jicsservice/createTransaction"
  }
```

檢查伺服器日誌將確認問題的來源：

```
2023-06-14 18:10:54 default         TRACE - o.s.w.m.HandlerMethod                    - Arguments: [java.lang.IllegalArgumentException: Transaction already present in the group, org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterResponse@e34f6b8]
2023-06-14 18:10:54 default         ERROR - c.n.b.j.a.WebConfig                      - 400
java.lang.IllegalArgumentException: Transaction already present in the group
	at com.netfective.bluage.jac.server.services.rest.impl.JicsServiceImpl.createElement(JicsServiceImpl.java:1280)
```

### 建立交易
<a name="create-transaction"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createTransaction`
+ 引數：JSON 承載，代表要建立的 JICS TRANSACTION。這是`com.netfective.bluage.jac.entities.JACTransaction`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，表示已成功在基礎 JICS 儲存體中建立 TRANSACTION。

### 建立計畫
<a name="create-program"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createProgram`
+ 引數：JSON 承載，代表要建立的 JICS PROGRAM。這是`com.netfective.bluage.jac.entities.JACProgram`物件的 JSON 序列化。
+ 傳回布林值。如果值為「true」，表示已成功在基礎 JICS 儲存體中建立 PROGRAM。

### 建立 檔案
<a name="create-file"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createFile`
+ 引數：JSON 承載，代表要建立的 JICS 檔案。這是`com.netfective.bluage.jac.entities.JACFile`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，表示已成功在基礎 JICS 儲存體中建立 FILE。

### 建立 TDQUEUE
<a name="create-tdqueue"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createTDQueue`
+ 引數：JSON 承載，代表要建立的 JICS TDQUEUE。這是`com.netfective.bluage.jac.entities.JACTDQueue`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，則已成功在基礎 JICS 儲存體中建立 TDQUEUE。

### 建立 TSMODEL
<a name="create-tsmodel"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createTSModel`
+ 引數：JSON 承載，代表要建立的 JICS TSMODEL。這是`com.netfective.bluage.jac.entities.JACTSModel`物件的 JSON 序列化。
+ 傳回布林值，其中 `true` 表示已成功在基礎 JICS 儲存體中操作元素的建立。

### 建立元素
<a name="create-elements"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/createElements`
+ 引數：代表要建立之 JICS 元素的 JSON 承載。
+ 傳回布林值。如果值為「true」，則元素已在基礎 JICS 儲存中成功建立。

### 更新 LIST
<a name="update-list"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateList`
+ 引數：JSON 承載，代表要更新的 JICS LIST。這是`com.netfective.bluage.jac.entities.JACList`物件的 JSON 序列化。您不需要提供 LIST 的子系；LIST 更新機制不會考慮子系。
+ 傳回布林值。如果值為 'true'，表示已成功更新基礎 JICS 儲存中的 LIST。

更新 LIST 'isActive' 旗標將傳播到 LIST 的所有擁有元素，即 LIST 擁有的所有 GROUPS 和這些 GROUPS 擁有的所有資源。這是在多個 GROUPS 上透過單一操作停用大量資源的便利方式。

### 更新 GROUP
<a name="update-group"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateGroup`
+ 引數：JSON 承載，代表要更新的 JICS GROUP。這是`com.netfective.bluage.jac.entities.JACGroup`物件的 JSON 序列化。不需要提供 GROUP 的子系，GROUP 更新機制不會將此納入考量。
+ 傳回布林值。如果值為 'true'，則已成功更新基礎 JICS 儲存中的 GROUP。

**注意**  
更新 GROUP 'isActive' 旗標將傳播到 GROUP 的所有擁有元素，即 GROUP 擁有的所有資源。這是在指定 GROUP 中使用單一操作停用大量資源的便利方式。

### 常見的 RESOURCES 更新考量事項
<a name="common-update-considerations"></a>

下列所有端點都是關於更新 JICS 資源。使用 `groupName` 欄位，您可以變更任何 JICS 資源的擁有 GROUP，前提是欄位值指向基礎 JICS 儲存體中的現有 GROUP （否則，您會從端點收到 BAD REQUEST 回應 (HTTP STATUS 400))。

### 更新交易
<a name="update-transaction"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateTransaction`
+ 引數：JSON 承載，代表要更新的 JICS TRANSACTION。這是`com.netfective.bluage.jac.entities.JACTransaction`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，則基礎 JICS 儲存體中的 TRANSACTION 已成功更新。

### 更新程式
<a name="update-program"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateProgram`
+ 引數：JSON 承載，代表要更新的 JICS PROGRAM。這是`com.netfective.bluage.jac.entities.JACProgram`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，表示已在基礎 JICS 儲存中成功更新 PROGRAM。

### 更新檔案
<a name="update-file"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateFile`
+ 引數：JSON 承載，代表要更新的 JICS 檔案。這是`com.netfective.bluage.jac.entities.JACFile`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，則 檔案已在基礎 JICS 儲存中成功更新。

### 更新 TDQUEUE
<a name="update-tdqueue"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateTDQueue`
+ 引數：JSON 承載，代表要更新的 JICS TDQUEUE。這是`com.netfective.bluage.jac.entities.JACTDQueue`物件的 JSON 序列化。
+ 傳回布林值。如果值為 'true'，則已成功在基礎 JICS 儲存體中更新 TDQueue。

### 更新 TSMODEL
<a name="update-tsmodel"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateTSModel`
+ 引數：JSON 承載，代表要更新的 JICS TSMODEL。這是`com.netfective.bluage.jac.entities.JACTSModel`物件的 JSON 序列化。
+ 傳回布林值。如果值為「true」，則基礎 JICS 儲存體中的 TSMODEL 已成功更新。

### 更新元素
<a name="update-elements"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/updateElements`
+ 引數：代表要更新的元素的 JSON 承載。
+ 傳回布林值，其中 `true` 表示元素更新已成功在基礎 JICS 儲存體中操作。

### Upsert 元素
<a name="upsert-elements"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/upsertElements`
+ 引數：代表 upsert 元素的 JSON 承載。
+ 傳回布林值，其中 `true` 表示元素 upsert 已成功在基礎 JICS 儲存體中操作。

### 擷取元素
<a name="retrieve-elements"></a>
+ 支援的方法：GET
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/retrieveElements`
+ 引數：無
+ 傳回所有序列化 JICS 資源的清單。

### JICS CRUD 操作
<a name="jics-crud-operation"></a>
+ 支援的方法：POST
+ 需要身分驗證和下列其中一個角色：ROLE\_ADMIN、ROLE\_SUPER\_ADMIN、ROLE\_USER
+ 路徑： `/api/services/rest/jicsservice/jicsCrudOperation`
+ 引數：代表您要尋找的 JICS 資源的 JSON 承載。這是`com.netfective.bluage.jac.entities.request.JicsCrudOperationRequest`物件的 JSON 序列化。
+ 傳回代表回應的 JSON 承載。這是`com.netfective.bluage.jac.entities.request.JicsCrudOperationResponse`物件的 JSON 序列化。

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

**Topics**
+ [JICS 伺服器運作狀態](#jics-server-health)

### JICS 伺服器運作狀態
<a name="jics-server-health"></a>
+ 支援的方法：GET
+ 路徑： `/api/services/rest/jicsserver/serverIsUp`
+ 引數：無
+ 傳回：無。HTTP STATUS 200 回應表示伺服器已啟動並執行。

## JAC 使用者管理端點
<a name="ba-endpoints-jac-users"></a>

使用下列端點來管理使用者互動。

**Topics**
+ [記錄使用者](#log-user)
+ [測試系統中是否至少存在 使用者](#test-user-exist)
+ [記錄新使用者](#record-new-user)
+ [使用者資訊](#user-info)
+ [列出使用者](#list-users)
+ [刪除使用者](#delete-user)
+ [登出目前使用者](#logout-user)

### 記錄使用者
<a name="log-user"></a>
+ 支援的方法：POST
+ 路徑： `/api/services/security/servicelogin/login`
+ 引數：無
+ 傳回`com.netfective.bluage.jac.entities.SignOn`物件的 JSON 序列化，代表目前請求中提供其登入資料的使用者。密碼會從傳回物件的檢視中隱藏。正在列出提供給使用 的角色。

回應範例：

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

### 測試系統中是否至少存在 使用者
<a name="test-user-exist"></a>
+ 支援的方法：GET
+ 路徑： `/api/services/security/servicelogin/hasAccount`
+ 引數：無
+ `true` 如果至少已建立預設超級管理員使用者以外的一個使用者，則傳回布林值。`false` 否則傳回 。

### 記錄新使用者
<a name="record-new-user"></a>
+ 支援的方法：POST
+ 需要身分驗證和 ROLE\_ADMIN 角色。
+ 路徑： `/api/services/security/servicelogin/recorduser`
+ 引數：`com.netfective.bluage.jac.entities.SignOn`物件的 JSON 序列化，代表要新增至儲存體的使用者。應定義使用者的 角色，否則使用者可能無法使用 JAC 設施和端點。
+ `true` 如果使用者已成功建立，則傳回布林值。`false` 否則傳回 。

範例請求：

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

錄製新使用者時，只能使用下列角色：
+ ROLE\_ADMIN：可以管理 JICS 資源和使用者。
+ ROLE\_USER：可以管理 JICS 資源，但不能管理使用者。

### 使用者資訊
<a name="user-info"></a>
+ 支援的方法：GET
+ 路徑： `/api/services/security/servicelogin/userInfo`
+ 引數：無
+ 傳回目前連線使用者的使用者名稱和角色。

### 列出使用者
<a name="list-users"></a>
+ 支援的方法：GET
+ 需要身分驗證和 ROLE\_ADMIN 角色。
+ 路徑： `/api/services/security/servicelogin/listusers`
+ 引數：無
+ 傳回`com.netfective.bluage.jac.entities.SignOn`序列化為 JSON 的 清單。

### 刪除使用者
<a name="delete-user"></a>
+ 支援的方法：POST
+ 需要身分驗證和 ROLE\_ADMIN 角色。
+ 路徑： `/api/services/security/servicelogin/deleteuser`
+ 引數：代表要從儲存體中移除之使用者的`com.netfective.bluage.jac.entities.SignOn`物件 JSON 序列化。
+ `true` 如果使用者已成功移除，則傳回布林值。

**重要**  
這個操作無法復原。刪除的使用者將無法再次連線至 JAC 應用程式。

### 登出目前使用者
<a name="logout-user"></a>
+ 支援的方法：GET
+ 路徑： `/api/services/security/servicelogout/logout`
+ 引數：無
+ `{"success":true}` 如果目前的使用者已成功登出，則傳回 JSON 訊息。相關的 HTTP 工作階段將會失效。