初めに
AzureBlobからファイルを取得するServerActionを作成した。
ファイルを取得する際にファイルサイズを確認し、一定サイズ以下であれば受け入れるようにしたい。
AzureBlobのプロパティ取得のAPIはHEADメソッドでRequestする必要がある。
ところがOutsystems標準のConsume REST APIではHEADメソッドを選択できない。
環境
Service Studio Version 11.54.37
標準で選択できるHTTP Method
- GET
- POST
- PUT
- DELETE
- PATCH
Consume REST APIでHTTPMethodをHEADに変更するには
Consume REST APIでは、リクエスト前にHeaderなどをOnBeforeRequestでカスタマイズできる。
この方法を使ってHTTPMethodを上書きできそう。
REST APIを利用する/シンプルなカスタマイズ
もともとのRequestを読み込んで、CustomizedRequestを送信することができる。
このRequestとCustomizedRequestの中にHTTPMethodというAttributeが存在している。
確認すると、各メソッドでのConsume REST APIを実行したとき、選択したメソッドが設定されている。
これを上書きすることでOutsystems ConsumeAPIの標準で選択できないHTTPMethodのAPIをRequestすることができた。
まとめ
OutsystemsでHEADメソッドのAPIをRequestするには、OnBeforeRequestでCustomizedRequest.HTTPMethodを"HEAD"で上書きすればよい。