ベストプラクティス:エラー処理

Workflowsプラットフォームは、APIがスローするエラーがコネクターのエンドユーザーに表示されるように処理します。エラー処理関数If Error (Try/Catch)の使用は、コネクターの_authpingフローでのメッセージ処理など、特殊な状況に限定される場合があります。ただし、コネクターのカードを設計する際のエラー処理には、いくつかのベストプラクティスがあります。

必須入力の処理

コネクターの入力を作成するときは、作成者として[Inputs(入力)]ダイアログで必須のマークをフィールドに付けることができます。フィールドを必須として設定すると、コネクターカードのエンドユーザーは、そのフィールドに値を入力するか、別のカードからの出力をドラッグしなければならなくなります。ユーザーが出力フィールドにドラッグした時点でカードのフロントエンド検証は満たされるため、フローの実行時にその出力フィールドに実際の値が入力されるかどうかは保証されません。そのため、コネクターの開発者は、必要な値が存在することをAPIの呼び出し前に確認することをお勧めします。事前の確認により、プラットフォームが既知の不正なリクエストをAPIに送信するのを防止し、エンドユーザーのAPI制限も保護できます。

必須フィールドを検証する最も簡単な方法は、エラー処理のReturn Error Ifカードの使用です。必須入力のエラーメッセージには、次の形式を使用することをお勧めします:No <Input Name> input provided. Please enter a valid <Input Name>.(<入力名>入力がありません。有効な<入力名>を入力してください)。

メッセージとともに400ステータスコードを含めるようにしてください。400 Bad Request応答ステータスコードは、サーバーは、クライアントエラーと見られる何かが存在するため、リクエストを処理できないか、処理しないことを示します。(たとえば、リクエストの構文が不正である、リクエストメッセージのフレーミングが無効である、リクエストのルーティングが偽造であるなど)。

  1. Connector Action(イベント)カードの右にReturn Error If関数を追加します。

  2. 必要な入力をReturn Error Ifカードのvalue a(値a)入力にドラッグし、comparison(比較)is emptyに設定します。

  3. message(メッセージ)フィールドに「No <Input Name> input provided. Please enter a valid <Input Name>.(<入力名>入力がありません。有効な<入力名>を入力してください) 」と入力します。この<Input Name>は、フィールドの表示名です。

  4. statusCodeフィールドに「400」を入力します。

関連項目

ベストプラクティス:アクションカード名と説明

ベストプラクティス:レート制限