HTTP要求クラス (PRIM_WEB.HttpRequest)
HTTP要求
祖先 - オブジェクト (PRIM_OBJT)
詳細
HTTPRequest を使用すると、サードパーティの HTTP サービスにアクセスできるため、 LANSA を他の Web サービスと統合することができます。
HTTPRequest は事実上 JavaScript の標準 XMLHttpRequest です。
HTTPRequests は、実行するルーチン内で定義する必要があります。これにより、実行されるたびに新しいインスタンスが作成されます。Completed イベントと Failed イベントの対応するイベント・ルーチンは、同じルーチンでコーディングされています。
LANSA ランタイムは、完了するまでインスタンスを維持します。これにより、同じルーチンが何度も実行され、多くの要求が実行され、それぞれ独立して結果が生成されます。
HTTPRequest がグローバルスコープとして存在する場合、 1 つのインスタンスしか存在しません。
イベントは他の子イベントルーチンを持つことができないため、 HTTPRequest インスタンスを EVTROUTINE で定義することはできません。
例
この例では、 Weather API が非同期で実行され、データを JSON オブジェクトとして返します。
完了したイベントが発生すると、結果が処理されます。
Mthroutine Name(GetWeather) Access(*Private)
Define_Map For(*Input) Class(#prim_alph) Name(#Resource)
Define_Com Class(#PRIM_WEB.HttpRequest) Name(#Request)
#Request.URL := "http://api.openweathermap.org" + #Resource
#Request.ExecuteAsync
Evtroutine Handling(#Request.Completed)
If (#Request.Response *IsNot *null)
Case (#Request.Response.Status)
When (= 200)
#Com_owner.Update( #Request.Response.JSON.RootItem )
Otherwise
#Com_owner.UpdateForFailure( #Request )
Endcase
Endif
Endroutine
Endroutine
プロパティ
名前 | 記述 |
|---|---|
コンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承 | |
このコンポーネントの全てにアクセスできるようにします。 オブジェクト (PRIM_OBJT) より継承 | |
コンポーネントのクラスを制限します。 オブジェクト (PRIM_OBJT) より継承 | |
インスタンス用に値を格納できる汎用スペース オブジェクト (PRIM_OBJT) より継承 | |
ComponentTypeではコンポーネントのタイプ情報にアクセスできます。 オブジェクト (PRIM_OBJT) より継承 | |
ComponentTypeName十分適格なコンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承 | |
HTTP要求の内容 | |
HTTPヘッダー | |
要求送信時にクッキーを含有 | |
GET、POSTなどの標準HTTP要求メソッド | |
コンポーネントの名前 オブジェクト (PRIM_OBJT) より継承 | |
コンポーネントのオーナーです。 オブジェクト (PRIM_OBJT) より継承 | |
このインスタンスが添付されているコンポーネントインスタンス。コントロールのビジュアルコンテナまたは子インスタンスのコレクション オブジェクト (PRIM_OBJT) より継承 | |
要求により返されたHTTP応答オブジェクトへの参照 | |
標準HTTP要求のステータスコード | |
標準HTTP要求タイムアウト | |
要求のURL |
イベント
名前 | 記述 |
|---|---|
処理の正常終了後HTTP要求が返された時に起動されます。 | |
コンポーネントを作成する時にCreateInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承 | |
コンポーネントが解除される前にDestroyInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承 | |
処理の異常終了後HTTP要求が返された時に起動されます。 |
メソッド
名前 | 記述 |
|---|---|
HTTP要求をキャンセルします。 | |
要求を同期的に実行します。 | |
要求を非同期に実行します。 |