これは InterSystems FAQ サイトの記事です。
IRISの%Net.HttpRequestクラスを利用して、外部のREST APIを呼び出し、情報の取得やデータの登録などの処理を実行することができます。
処理を実装する前準備としてSSL構成情報の設定が必要です。
この設定は、管理ポータル>システム管理>セキュリティ>SSL/TLS構成>新規構成の作成で行ってください。
構成名は任意の名前を指定します。
ここではSSLという名前で作成します。
その他の項目は、デフォルト値のままでOKです。
以下のサンプルは、郵便番号関連情報を取得するAPIサービスを利用しています。(https://zipcloud.ibsnet.co.jp/doc/api)
set req = ##class(%Net.HttpRequest).%New()
set req.ContentType="application/json;charset=UTF-8"
do req.SetParam("zipcode","0790177")
set req.SSLConfiguration="SSL"
do req.Post("https://zipcloud.ibsnet.co.jp/api/search")
set res = req.HttpResponse.Data.Read(10000)
set obj={}.%FromJSON(res)
do showItem(obj)
quit
showItem(obj) {
set itr=obj.%GetIterator()
while itr.%GetNext(.key, .value, .type ) {
if type="array" {
write "==================================",!
write "[",key,"]",!
do showItem(value)
write "==================================",!
}
elseif type="object" {
write "---------------------------",!
do showItem(value)
}
else {
write key_" : "_value,!
}
}
quit
}