はじめに
HTTPからリクエストを受け取る場合にはHTTPStartコンポーネントが使えます。ヘルプをみるとブラウザのフォームリクエスト(POSTメソッド)をメインに書かれていますが、GETメソッドでURLパラメーターをとるときの設定で少し悩んだので確認したことを残しておきます。
環境
- OS : Windows 10
- Java:1.8.0.121
- ASTERIA WARP : 1703
フロー
HTTPStart -> Mapper -> HTTPEnd で簡単なフローを作って
POSTでフォームデータを受け取る
今回はRestコンポーネントにPrameterListのデータを差し込んで動作を確認してみました。
フォームデータをHTTPStartのPrameterListで受け取っているようです。
GETでURLパラメーターを受け取る
URLパラメータータブでvalue1
に値をセットしておきます。
URLパラメーターもさっきと同じフローで取得できてます。
ヘルプを見直してみる
出力ストリームがParameterListの場合はURLパラメーターもParameterListのフィールドに設定されます。
と書いてありました。つまり、POSTメソッドでフォームデータを受け取るのと同じようにGETメソッドのURLパラメーターもPrameterListで受け取れるようです。
?value1=123
というURLパラメーターをフローで受け取れて処理されているようです。
さらにヘルプには
出力ストリームがMIMEでURLパラメーターを取得する場合
出力ストリームがMIMEの場合にURLでQueryStringとして指定されたパラメーターを取得する場合はそのパラメーター名を公開フロー変数として設定することで変数値として設定されます。
とも書いてありましたので試してみました。
HTTPStartの出力ストリームをMIMEにしてフロー変数を1つ作り、「公開」しておくと同じようにGETメソッドのURLパラメーターが取れるみたいです。
おわりに
GETメソッドのURLパラメーターを受け取るときもURLを解析するとか小難しいことは考えず、ParameterListでフィールドを指定して受け取れるようです。GETメソッドでもPOSTメソッドでも同じフローで動くのがうれしいところです。
ヘルプにはちっちゃくさらっと書いてありますがMIMEの場合も公開フロー変数に自動セットされるので、MIMEデータ解析と同時にURLパラメーターの値も必要なときでも使えそうです。