はじめに
皆さま、お疲れ様です。
SAPUI5の開発が進む中、過去に使われていた一部のAPIが非推奨となり、よりモダンな形式に置き換えられています。
今回はその中でも jQuery.sap.getModulePath から sap.ui.require.toUrl への移行方法について解説します。
背景
現在の案件では、モジュールのパスを取得するために jQuery.sap.getModulePath を利用していました。
このAPIは簡単にパスを生成できる便利なものですが、現在は sap.ui.require.toUrl が推奨されています。
バージョン 1.58 以降は非推奨です。
なぜ移行しないといけないのか?
-
非推奨APIのリスク
非推奨のAPIを使い続けると、将来のバージョンアップで動作しなくなる可能性があります。 -
モダンなAPIでの開発の利点
sap.ui.require.toUrl を使うと、より シンプル で 直感的なコード が書けます。保守性や可読性の向上にもつながります。
サンプルコード
従来の方法 (jQuery.sap.getModulePath)
let PathTest1=jQuery.sap.getModulePath("XXX.API0999","/model/sampleData.json");
このように、指定したモジュールパス取得することができました。
ただし、 バージョン1.58以降 はこの方法が非推奨のため、他の方法に置き換える必要があります。
新しい方法 (sap.ui.require.toUrl)
SAPのAPIリファレンスでは、以下のように sap.ui.require.toUrl を使うことが推奨されています。
let PathTest2=sap.ui.require.toUrl("XXX/API0999/model/sampleData.json");
このコードをコンソールで実行して確認すると、同じパスが取得できることが分かります。
最後に
この記事では、 jQuery.sap.getModulePath から sap.ui.require.toUrl への移行方法を具体例とともに解説しました。
これにより、将来のバージョンアップに備えた保守性の高いコードが書けるようになります。
この記事が、皆さまの開発に少しでもお役に立てれば幸いです。
参考サイト
・APIリファレンス - jQuery.sap.getModulePath
https://sapui5.hana.ondemand.com/sdk/#/api/jQuery.sap%23overview
・APIリファレンス - sap.ui.require.toUrl
https://sapui5.hana.ondemand.com/sdk/#api/sap.ui%23methods/sap.ui.require.toUrl