Skip to main content

 

OutSystems 11オンラインヘルプ

 

OutSystems

ストラクチャとレコードを使用して複合データ型を作成する

アプリケーションを開発する際、異なったデータ型を持つ複数の変数のコレクションをひとまとめにした単一の変数を用意し、それをロジックやUIで使用することに興味を持つ場合もあるでしょう。たとえば、アクションから返される複数の値を割り当てるために各値に1つずつ出力を作成する必要はありません。

OutSystemsでは、Structure.png ストラクチャまたはレコードを使用して、構造化された値を作成することができます。ストラクチャは、モジュールで使用することができるカスタムデータ型です。レコードは、ある単一の変数について定義されたカスタムデータ型のデータ型で、それを他の変数で使用することはできません。

ストラクチャを宣言して使用するには、以下の手順を実行します。

  1. [Data]レイヤーで、Structuresフォルダを右クリックし、[Add Structure]を選択して新しいストラクチャを追加します。
  2. アトリビュートを追加するには、新しいストラクチャを右クリックし、[Add Structure Attribute]を選択して名前やデータ型のようなアトリビュートのプロパティを変更します。
  3. 新しい変数を作成します。
  4. 作成したストラクチャに変数のデータ型を設定します。

レコードを定義するには、以下の手順を実行します。

  1. 新しい変数を作成します。
  2. 変数のデータ型を「Record」に変更します。
  3. ポップアップウィンドウで、レコードにアトリビュートを追加し、アトリビュートのデータ型を定義します。

レコードの使用例

興味のある場所の検索やレビューができるWebアプリケーションGoOutWebで、REST APIメソッドを使用してある場所の基本情報を返します。各場所について返す情報は、Id、名前および平均評価です。

出力パラメータに割り当てる必要があるデータ型は、ここだけで使用されるため、「Record」を使用します。

  1. REST APIを公開し、「Place」という名前を付けて「GetPlace」というメソッドを作成します。
  2. 情報を返す先となるPlace Idを示す入力パラメータを追加します。
  3. アクションフローで、PlaceおよびReviewエンティティを持つAggregateを追加し、Place Id入力パラメータを使用してフィルタリングします。
  4. 「PlaceInformation」という名前の出力パラメータを追加します。
  5. 推奨されるデータ型GetPlacesWithReviews Record Typeを選択し、出力パラメータのデータ型をAggregateによって返されるレコードに設定します。
  6. GetPlaceアクションフローに戻り、値を出力変数に割り当て、アクションにAssignフロー要素を追加してAggregateから返される最初の要素を割り当てます。これらはデータ型が同じであるため、2つの間でアトリビュートをマッピングする必要はありません。
  7. パブリッシュしてテストします。

ストラクチャの使用例

興味のある場所の検索やレビューができるWebアプリケーションGoOutWebで、アプリケーションの登録済みエンドユーザーの基本情報を公開するREST APIメソッドを開発しています。返す情報は、エンドユーザーのId、名前およびプロファイル画像です。

このアプリケーションの別のアクションでこのユーザー情報を再利用する予定であるため、データ型を再利用できるようにこの情報を格納するストラクチャを作成します。

  1. [Data]レイヤーで、Structuresフォルダを右クリックし、「UserInfo」という名前の新しいストラクチャを追加します。

  2. 以下のアトリビュートを新しいストラクチャに追加します。

    • User Identifier型のId
    • Text型のName
    • Binary Data型のPhoto

    構造化されたデータを作成して使用する

  3. 「User」という名前のREST APIを公開し、「GetUser」というメソッドを作成します。

  4. 情報を返す先となるUser Idを示す入力パラメータを追加します。

  5. アクションフローで、UserおよびProfileエンティティを持つAggregateを追加し、User Id入力パラメータを使用してフィルタリングします。

  6. 「UserInformation」という名前の出力パラメータを追加し、そのデータ型としてUserInfoストラクチャを割り当てます。

  7. 値を出力変数に割り当てるには、アクションにAssign要素を追加してAggregateから返される最初の要素を割り当てます。

  8. Aggregateによって返されデータ型は出力変数と異なるため、Assignノードのプロパティの割り当てで、Aggregateの出力のアトリビュートを出力パラメータのアトリビュートにマッピングします。

  9. パブリッシュしてテストします。

構造化されたデータを作成して使用する

  • Was this article helpful?