ベストプラクティス:エラー処理
Workflowsプラットフォームは、APIがスローするエラーがコネクターのエンドユーザーに表示されるように処理します。
If Error(Try/Catch)関数の使用は、コネクターの_authpingフローでのメッセージ処理など、特殊な状況に限定される場合があります。ただし、コネクターのカードを設計する際のエラー処理には、いくつかのベストプラクティスがあります。
必須入力の処理
コネクターの入力を作成するときは、[Inputs(入力)]ダイアログで必須のマークをフィールドに付けることができます。フィールドを必須として設定すると、コネクターカードのユーザーは、そのフィールドに値を入力するか、別のカードからの出力をドラッグしなければならなくなります。
ユーザーが出力フィールドにドラッグした時点でカードのフロントエンド検証は満たされるため、フローの実行時にその出力フィールドに実際の値が入力されるかどうかは保証されません。そのため、コネクターの開発者は、必要な値が存在することをAPIの呼び出し前に確認することをお勧めします。事前の確認により、プラットフォームが既知の不正なリクエストをAPIに送信するのを防止し、ユーザーのAPI制限も保護できます。
必須フィールドを検証する
必須フィールドを検証する最も簡単な方法は、 Return Error Ifカードと次の形式のエラーメッセージを使用することです:No <Input Name> input provided. Enter a valid <Input Name>.(<入力名>が入力されていません。有効な<入力名>を入力してください。)
メッセージとともに400ステータスコードを含めるようにしてください。400 Bad Request応答ステータスコードは、サーバーがクライアントエラーと認識した何らかの原因で要求を処理できないことを示します。たとえば、不正なリクエスト構文、無効なリクエストメッセージのフレーミング、または不正なリクエストルーティングなどです。
例
-
コネクターアクション(イベント)カードの右にReturn Error If関数を追加します。
-
必要な入力をReturn Error Ifカードの[value a(値a)]フィールドにドラッグし、[comparison(比較)]をis emptyに設定します。
-
[message(メッセージ)]フィールドに「No <Input Name> input provided. Enter a valid <Input Name>.(<入力名>入力がありません。有効な<入力名>を入力してください) 」と入力します。この<Input Name>は、フィールドの表示名です。
-
[statusCode]フィールドに「400」を入力します。
-
処理するフィールドごとに繰り返し、エラーメッセージを返します。