ベストプラクティス:エラー処理
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応答ステータスコードは、サーバーがクライアントエラーと認識した何らかの原因で要求を処理できないことを示します。たとえば、不正なリクエスト構文、無効なリクエストメッセージのフレーミング、または不正なリクエストルーティングなどです。
例
-
コネクターアクション(Connector Action)(イベント)カードの右にReturn Error If関数を追加します。
-
必要な入力をReturn Error Ifカードの値a(value a)フィールドにドラッグし、比較(comparison)を
is emptyに設定します。 -
メッセージ(message)フィールドに
No <Input Name> input provided. Enter a valid <Input Name>.と入力します。<Input Name>はフィールドの表示名です。 -
statusCodeフィールドに
400を入力します。 -
処理するフィールドごとに繰り返し、エラーメッセージを返します。
関連項目