You need to sign in to do that
Don't have an account?
雅章 土屋
本番環境、Sandbox環境のソース切り替え方法
お世話になっております。
apexで本番、Sandboxでロジックを切り替えたい時に良い方法ありませんでしょうか。
現状、Sandbox開発 -> カバレッジテスト -> 本番リリースとしていますが、
このとき開発用のソースがそのままリリースされてしまいます。
具体的に言うと外部参照時に本番用・Sandboxで向き先を変更したいです。
例)
request.setEndpoint('https://test.develop.jp/api/user/get'); // 本番は別のURL
apexで本番、Sandboxでロジックを切り替えたい時に良い方法ありませんでしょうか。
現状、Sandbox開発 -> カバレッジテスト -> 本番リリースとしていますが、
このとき開発用のソースがそのままリリースされてしまいます。
具体的に言うと外部参照時に本番用・Sandboxで向き先を変更したいです。
例)
request.setEndpoint('https://test.develop.jp/api/user/get'); // 本番は別のURL
カスタム表示ラベルを利用してみてはいかがでしょうか。
1つエンドポイント情報を格納するカスタム表示ラベルを作成し、
本番とSandBox環境で格納する値を変えます。
作成したカスタム表示ラベルを、Apexクラスから参照することで、
本番、SandBoxで向き先を変えることができます。
例)request.setEndpoint(System.Label.EndPointUrlLabel);
※「EndPointUrlLabel」がカスタム表示ラベルの名前です。
他のやり方ですと、URL.getSalesforceBaseUrl()メソッドを利用して、本番か、SandBoxを判断する、
カスタム表示ラベルの代わりにカスタム設定を使うなど、いくつかありますが、
カスタム表示ラベルを利用するのがシンプルかな、と思います。
All Answers
カスタム表示ラベルを利用してみてはいかがでしょうか。
1つエンドポイント情報を格納するカスタム表示ラベルを作成し、
本番とSandBox環境で格納する値を変えます。
作成したカスタム表示ラベルを、Apexクラスから参照することで、
本番、SandBoxで向き先を変えることができます。
例)request.setEndpoint(System.Label.EndPointUrlLabel);
※「EndPointUrlLabel」がカスタム表示ラベルの名前です。
他のやり方ですと、URL.getSalesforceBaseUrl()メソッドを利用して、本番か、SandBoxを判断する、
カスタム表示ラベルの代わりにカスタム設定を使うなど、いくつかありますが、
カスタム表示ラベルを利用するのがシンプルかな、と思います。
カスタム表示ラベル、またはgetSalesforceBaseUrlメソッドを試してみます。
カスタム表示ラベルで実現することができました。
ありがとうございます。
報告が遅くなり失礼いたしました。