すべてのプロダクト
Search
ドキュメントセンター

DataWorks:ベストプラクティス: APIリクエストパラメータをオプションパラメータとして指定する

最終更新日:Jan 11, 2025

データソースを使用して API をカプセル化する場合、ビジネス要件に基づいて、API の 1 つ以上のリクエストパラメータをオプションパラメータとして指定できます。API のリクエストパラメータをオプションパラメータとして指定すると、呼び出し側は、API を呼び出すときにリクエストパラメータの値を指定するかどうかを選択できます。これにより、より柔軟な API ベースのクエリが可能になります。このトピックでは、コードレスユーザーインターフェイス ( UI ) またはコードエディターを使用して、API のリクエストパラメータをオプションパラメータとして指定する方法について説明します。

背景情報

この例では、ods_user_info_d ユーザー情報テーブルが使用されます。次の説明は、テーブルのスキーマを示しています。

フィールド名

データ型

説明

uid

INT

ユーザーの ID です。

gender

STRING

ユーザーの性別です。

age_range

STRING

ユーザーの年齢です。

zodiac

STRING

ユーザーの星座です。

この例では、uid フィールドは必須リクエストパラメータとして指定され、gender フィールドはオプションリクエストパラメータとして指定されます。

コードレス UI

  1. DataService Studio ページに移動します

  2. サービス開発パネルで、Add アイコンにポインターを移動し、[API の作成] > [API の生成] を選択します。

  3. [API の生成] ダイアログボックスで、[API モード][ウィザードモード] に設定し、ビジネス要件に基づいて他のパラメータを設定します。次に、[OK] をクリックします。

    パラメータの詳細については、「コードレス UI を使用して API を作成する」をご参照ください。

  4. 表示される設定タブの [テーブルの選択] セクションで、パラメータを設定します。

  5. [パラメータの選択] セクションで、リクエストパラメータとして使用するフィールドを選択します。

    Select Parameters section

  6. 設定タブの右側ナビゲーションペインで、[リクエストパラメータ] をクリックします。

    次に、次の図に示すように、リクエストパラメータパネルに表示されるフィールドの [必須] パラメータを設定できます。Request Param

    • フィールドの [必須] を選択すると、そのフィールドは必須リクエストパラメータになります。この場合、現在の API を呼び出すときに、リクエストパラメータの値を指定する必要があります。指定しないと、システムはパラメータ検証例外を報告し、API 呼び出しは失敗します。

    • フィールドの [必須] を選択しないと、そのフィールドはオプションリクエストパラメータになります。この場合、現在の API を呼び出すときに、リクエストパラメータの値を指定するか、リクエストパラメータを空のままにすることができます。現在の API を呼び出すときにリクエストパラメータを空のままにすると、リクエストパラメータはクエリ条件として使用されません。

  7. API を呼び出します。

    • ケース 1:uid および gender リクエストパラメータのそれぞれに値を指定します。次のコードは、クエリリクエストを示しています。

      SELECT uid, gender, age_range, zodiac
      FROM ods_user_info_d
      WHERE uid = 0016359810821
      AND gender = 'female';
    • ケース 2:uid リクエストパラメータに値を指定し、gender リクエストパラメータを空のままにします。次のコードは、クエリリクエストを示しています。

      SELECT uid, gender, age_range, zodiac
      FROM ods_user_info_d
      WHERE uid = 0016359810821;

コードエディター

説明
  • 基本 SQL モードでは、オプションリクエストパラメータのロジックを実装できません。API の [API の生成] ダイアログボックスで [SQL モード] を [基本 SQL] に設定し、API のリクエストパラメータパネルでフィールド ( リクエストパラメータ ) の [必須] チェックボックスをオフにすると、次の状況が発生する可能性があります。

    • API を呼び出すときにリクエストパラメータの値を指定すると、リクエストパラメータはクエリリクエストにリクエストパラメータ = 指定値の形式で表示されます。

    • API を呼び出すときにリクエストパラメータの値を指定しないと、リクエストパラメータはクエリリクエストにリクエストパラメータ = null の形式で表示されます。

  • オプションリクエストパラメータのロジックを実装する場合は、API の高度な SQL モードを使用します。これは、API の [API の生成] ダイアログボックスで [SQL モード] を [高度な SQL] に設定する必要があることを意味します。

  1. DataService Studio ページに移動します

  2. サービス開発パネルで、Add アイコンにポインターを移動し、[API の作成] > [API の生成] を選択します。

  3. [API の生成] ダイアログボックスで、[API モード][スクリプトモード] に設定し、ビジネス要件に基づいて他のパラメータを設定します。次に、[決定] をクリックします。

    パラメータの詳細については、「コードエディターを使用して API を作成する」をご参照ください。

  4. 表示される設定タブの [テーブルの選択] セクションで、パラメータを設定します。

  5. [クエリ SQL の編集] セクションで、MyBatis タグ付きの SQL ステートメントを作成して、リクエストパラメータを設定します。次のコードは例を示しています。

    SELECT uid, gender, age_range, zodiac
    FROM ods_user_info_d
    <where>
        <if test='gender!=null'>  // gender が null でない場合
        gender = ${gender}
        </if>
        and uid = ${uid}
    </where>
  6. 設定タブの右側ナビゲーションペインで、[リクエストパラメータ] をクリックします。

    次に、次の図に示すように、リクエストパラメータパネルに表示されるフィールドの [必須] パラメータを設定できます。Request Param

  7. API を呼び出します。

    • ケース 1:uid および gender リクエストパラメータのそれぞれに値を指定します。次のコードは、クエリリクエストを示しています。

      SELECT uid, gender, age_range, zodiac
      FROM ods_user_info_d
      WHERE uid = 0016359810821
      AND gender = 'female';
    • ケース 2:uid リクエストパラメータに値を指定し、gender リクエストパラメータを空のままにします。次のコードは、クエリリクエストを示しています。

      SELECT uid, gender, age_range, zodiac
      FROM ods_user_info_d
      WHERE uid = 0016359810821;