> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cases 用の GET メソッドの作成

> ユーザーが利用可能なすべてのケースを、詳細情報と添付ファイルを含む JSON 配列として返す GET メソッドと GetCases アクティビティを Pega Service REST に追加します。

Cases 用の GET メソッドを作成するには、次の手順を実行します。

1. 新しい Service REST を作成します (**Records → Integration Resources** をクリックし、**Service Package** を右クリックして、ショートカット メニューの **Create** コマンドをクリックします) 。

2. 開いたフォームで、サービス名に *Cases*、パッケージ名に *customapi*、パッケージのバージョンに *v2*、**URI template** 名に *cases* を指定し、**Create and open** をクリックします。
   **注:** サービスを作成したら、サービス メソッドの URL が次のとおりであることを確認してください: \*[https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases\*。](https://Server\&#95;Name/prweb/PRRestService/customapi/v2/cases*。)

3. **Methods** タブで、GET メソッドを展開します。

4. **Response** タブをクリックし、2 つのレスポンス条件を作成します。

<table width="100%">
  <thead>
    <tr>
      <th>
        <p>
          <strong>処理対象</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Parameter 値</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>ヘッダー フィールド</strong>
        </p>
      </th>

      <th>
        <p>
          <strong>Message data</strong>
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>pxIsInternalError</p>
      </td>

      <td>
        <ul>
          <li>
            条件: <em>When</em>
          </li>

          <li>
            When 名: <em>pxIsInternalError</em>
          </li>

          <li>
            コンテンツ タイプ: <em>application/json</em>
          </li>

          <li>
            ステータス コード:<em> Param.StatusCode</em>
          </li>
        </ul>
      </td>

      <td> </td>
      <td> </td>
    </tr>

    <tr>
      <td>
        <p>成功レスポンス</p>
      </td>

      <td>
        <ul>
          <li>
            条件: <em>Default</em>
          </li>

          <li>
            コンテンツ タイプ: <em>application/json</em>
          </li>

          <li>
            ステータス コード: <em>Param.StatusCode</em>
          </li>
        </ul>
      </td>

      <td>
        <ul>
          <li>
            Name: <em>etag</em>; Map from: <em>Clipboard</em>; Map from key: <em>Param.eTag</em>
          </li>

          <li>
            Name: <em>cache-control</em>; Map from: <em>Constant</em>; Map from key: “<em>no-cache</em>”
          </li>
        </ul>
      </td>

      <td>
        <ul>
          <li>
            Description: <em>Response</em>
          </li>

          <li>
            Map from: <em>Clipboard</em>
          </li>

          <li>
            Map from key: <em>Param.Response</em>
          </li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

メソッドを設定したら、*GetCases* という名前の新しいアクティビティを作成する必要があります。

1. **Parameters** タブで、3 つの変数を作成します。
   * *String* 型の result
   * *String* 型の currentCaseId
   * *String* 型の tempResult
2. **Steps** タブで、次の Step を実行します。
   1. 現在のユーザーが利用可能なすべてのケースのリストを取得します。これを行うには、*Call pzGetCasesByFilter* を呼び出し、**Pass current parameter page** オプションを選択します。***pzGetCasesByFilter*** はすべてのケースを *myStepPage* に書き込みます。
   2. ループで *myStepPage* からケースを返す *Property-Set* メソッドの Step を作成します。これを行うには、ループを追加し、このループで **For each element in value list** を選択して、**myStepPage.cases** プロパティを指定します。メソッドのパラメーターで、Param.currentCaseID 変数を *myStepCase.cases(\<CURRENT>).ID* に設定します。
   3. ケースの詳細を取得する Step を作成します。これを行うには、**Method** タブで *Call GetCaseDetails* と入力し、次に **Step Page** に *myStepPage.cases(\<CURRENT>)* と入力します。**caseID** パラメーターを *Param.currentCaseID* に設定します。
      **注:** GetCaseDetails アクティビティを作成する手順は[以下](#getcasedetails)に記載されています。
   4. 前の Step で取得した結果を文字列に変換し、Param.tempResult 変数に書き込みます。
   5. 有効な JSON 文字列を生成するには、Param.result パラメーターにカンマを追加します (つまり *Param.result + “,”*) 。**When** フィールドに、次の 2 つの条件を追加します。
      * *@IsParamBlank(tools,"result")* が *true* の場合は Step をスキップし、*false* の場合は Whens を続行します。
      * *@IsParamBlank(tools,"tempResult")* が *true* の場合は Step をスキップし、*false* の場合は Whens を続行します。
   6. **tempResult** が空かどうかを確認します。空でない場合は、**tempResult** の値をメインの結果に追加します (つまり *Param.result + Param.tempResult*) 。
   7. 最終レスポンス **"\["+Param.result+"]"** を作成し、それを Param.Response 変数に書き込みます。

<a id="getcasedetails" />**GetCaseDetails** アクティビティを作成するには:

1. **Parameters** タブで、3 つの変数を作成します。
   * *String* 型の caseID
   * *String* 型の fileName
   * *String* 型の listFileName
2. **Pages & Classes** タブを開き、*Work-* クラスの *Case* という名前のページを追加します。
3. **Steps** タブで、次の Step を実行します。
   1. **Method** フィールドに *Obj-Open-By-Handle* と入力します。**Step page** フィールドに *Case* を追加します。**InstanceHandle** パラメーターに *Param.caseID* と入力します。
   2. 新しい *.atachments* プロパティを作成し、*Case.pyAttachments* List の内容を設定します。**attachment** プロパティを作成するには、右側のターゲットアイコンをクリックし、次に **Create Property** フォームで **Create and open** をクリックします。次に、プロパティの型として **Page List** を選択し、**Page definition** フィールドに *Link-Attachment* と入力します。
   3. content の値でページを設定します。**Method** フィールドには **Page-Copy**、**CopyFrom** フィールドには **Case**、**CopyInfo** フィールドには **.content** と入力します。
