ビジネスプロセスのエンドポイントを作成する場合、このリクエストで送信されるデータの種類を指定する必要があります(Request payload type)。最も一般的なオプションはJSON です。このオプションでは、必要なすべてのパラメータを簡単に指定でき、データモデルまたはオブジェクトの配列を渡すことができます。さらに、他のオプション、たとえばXMLMultipart Form (ファイルを送信する必要がある場合) も可能です。

同時に,正確な構造が事前にわからない(あるいは単にどうでもいい)状況も許容される.この場合、妥当な選択肢は "raw" クエリを使うことです。

request payload type

raw リクエストのビジネスプロセス

これが必要となるような状況を想像してみましょう。私たちが開発しているサービスは、単なる接続リンクだとしましょう。そのタスクは、ユーザーからリクエストを受け取り、承認をチェックし、ログを保存し、スパム対策を行い、問題がなければさらにリクエストをリダイレクトすることです。

Raw クエリの重要な特徴は、ビジネスプロセスを設計する際に入力パラメータを使用しないことです。その代わりに、リクエストボディを取得するために特別なブロックが使用されます -。 Get Request Body.リクエストに関する拡張情報に興味があるとします。その場合 Current Request Infoリクエストボディだけでなく、追加のパラメータやリクエストヘッダも返されます。

Current Request Info

リクエストの特定のヘッダに興味がある場合、そのヘッダを取得するには Get Request Headerブロックを使って取得できます。上の例では X-Real-IPヘッダを読み込みます。このヘッダにはリクエストの IP アドレスが含まれています。得られた IP は関数に渡され、与えられた IP が有効であり、禁止されたアドレスのブラックリストに載っていないことをチェックしなければなりません。その結果、適切なエラーメッセージと共にプロセスが中止されるか、あるいは すべてが正常であれば、それ以上の実行が許可される。

IP Check

Raw として受け取ったリクエストは、バイトの配列として表現される。知覚の便宜のために、それは文字列に変換することができる (To Stringブロック)に変換することができる。この形式で、情報はログに保存される。

この場合、リクエスト自体は変換されずに HTTP Requestブロックを使ってさらにリダイレクトすることができます。この例では、リクエストメソッドとその URL、そしてリクエストボディ (ブロックから取得) が指定されています。 Current Request Infoブロックから取得した) リクエストボディが指定されています。ブロックの結果は HTTP Requestブロックの結果は、ビジネスプロセス全体の結果として使用されます。

HTTP Request

スクリーンショットは最終的なビジネスプロセスを示しています。機能ブロック(FUNC Save request LogFUNC IP Blacklist Check)は例であり、このプロジェクトの範囲内にのみ存在することに注意してください。

BP Complete

したがって、このエンドポイントは、実際の内容にかかわらず、あらゆるリクエストを扱うために使用することができます。サードパーティのサービスに送るべき正確なリクエストを知る必要はありませんし、その中に何らかの変更 (モデルの追加、パラメータの名前の変更) があったとしても、プロジェクトに変更を加えることなくエンドポイントを使い続けることができます。

Was this article helpful?

AppMaster.io 101 クラッシュコース

10 モジュール
2 週

何から始めればいいのかわからない?初心者のためのクラッシュコースで、AppMasterを隅から隅まで見ていきましょう。

コース開始
Development it’s so easy with AppMaster!

もっと助けが必要ですか?

私たちの専門家の助けを借りて問題を解決します。時間を節約し、アプリケーションの構築に集中してください。

headphones

サポート問い合わせ先

問題について教えてください。解決策を見つけます。

message

コミュニティチャット

チャットで他のユーザーと質問について話し合います。

コミュニティに参加する