HttpRequestクラス (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
| 名前 | 記述 |
|---|---|
| ComponentClassName | コンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承 |
| ComponentMembers | このコンポーネントの全てにアクセスできるようにします。 オブジェクト (PRIM_OBJT) より継承 |
| ComponentPatternName | コンポーネントのクラスを制限します。 オブジェクト (PRIM_OBJT) より継承 |
| ComponentTag | インスタンス用に値を格納できる汎用スペース オブジェクト (PRIM_OBJT) より継承 |
| ComponentType | ComponentTypeではコンポーネントのタイプ情報にアクセスできます。 オブジェクト (PRIM_OBJT) より継承 |
| ComponentTypeName | ComponentTypeName十分適格なコンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承 |
| Content | HTTP要求の内容 |
| Headers | HTTPヘッダー |
| Method | GET、POSTなどの標準HTTP要求メソッド |
| Name | コンポーネントの名前 オブジェクト (PRIM_OBJT) より継承 |
| Owner | コンポーネントのオーナーです。 オブジェクト (PRIM_OBJT) より継承 |
| Parent | このインスタンスが添付されているコンポーネントインスタンス。コントロールのビジュアルコンテナまたは子インスタンスのコレクション オブジェクト (PRIM_OBJT) より継承 |
| Response | 要求により返されたHTTP応答オブジェクトへの参照 |
| Status | 標準HTTP要求のステータスコード |
| Timeout | 標準HTTP要求タイムアウト |
| Url | 要求のURL |
| 名前 | 記述 |
|---|---|
| Completed | 処理の正常終了後HTTP要求が返された時に起動されます。 |
| CreateInstance | コンポーネントを作成する時にCreateInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承 |
| DestroyInstance | コンポーネントが解除される前にDestroyInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承 |
| Failed | 処理の異常終了後HTTP要求が返された時に起動されます。 |
| 名前 | 記述 |
|---|---|
| Cancel | HTTP要求をキャンセルします。 |
| Execute | 要求を同期的に実行します。 |
| ExecuteAsync | 要求を非同期に実行します。 |
EPC150060 - December 2023