ビジネスプロセスのエンドポイントを作成する場合、このリクエストで送信されるデータの種類を指定する必要があります(Request payload type)。最も一般的なオプションはJSON です。このオプションでは、必要なすべてのパラメータを簡単に指定でき、データモデルまたはオブジェクトの配列を渡すことができます。さらに、他のオプション、たとえばXML やMultipart Form (ファイルを送信する必要がある場合) も可能です。
同時に,正確な構造が事前にわからない(あるいは単にどうでもいい)状況も許容される.この場合、妥当な選択肢は "raw" クエリを使うことです。
raw リクエストのビジネスプロセス
これが必要となるような状況を想像してみましょう。私たちが開発しているサービスは、単なる接続リンクだとしましょう。そのタスクは、ユーザーからリクエストを受け取り、承認をチェックし、ログを保存し、スパム対策を行い、問題がなければさらにリクエストをリダイレクトすることです。
Raw クエリの重要な特徴は、ビジネスプロセスを設計する際に入力パラメータを使用しないことです。その代わりに、リクエストボディを取得するために特別なブロックが使用されます -。 Get Request Body.リクエストに関する拡張情報に興味があるとします。その場合 Current Request Infoリクエストボディだけでなく、追加のパラメータやリクエストヘッダも返されます。
リクエストの特定のヘッダに興味がある場合、そのヘッダを取得するには Get Request Headerブロックを使って取得できます。上の例では X-Real-IPヘッダを読み込みます。このヘッダにはリクエストの IP アドレスが含まれています。得られた IP は関数に渡され、与えられた IP が有効であり、禁止されたアドレスのブラックリストに載っていないことをチェックしなければなりません。その結果、適切なエラーメッセージと共にプロセスが中止されるか、あるいは すべてが正常であれば、それ以上の実行が許可される。
Raw として受け取ったリクエストは、バイトの配列として表現される。知覚の便宜のために、それは文字列に変換することができる (To Stringブロック)に変換することができる。この形式で、情報はログに保存される。
この場合、リクエスト自体は変換されずに HTTP Requestブロックを使ってさらにリダイレクトすることができます。この例では、リクエストメソッドとその URL、そしてリクエストボディ (ブロックから取得) が指定されています。 Current Request Infoブロックから取得した) リクエストボディが指定されています。ブロックの結果は HTTP Requestブロックの結果は、ビジネスプロセス全体の結果として使用されます。
スクリーンショットは最終的なビジネスプロセスを示しています。機能ブロック(FUNC Save request Log とFUNC IP Blacklist Check)は例であり、このプロジェクトの範囲内にのみ存在することに注意してください。
したがって、このエンドポイントは、実際の内容にかかわらず、あらゆるリクエストを扱うために使用することができます。サードパーティのサービスに送るべき正確なリクエストを知る必要はありませんし、その中に何らかの変更 (モデルの追加、パラメータの名前の変更) があったとしても、プロジェクトに変更を加えることなくエンドポイントを使い続けることができます。