function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
雅章 土屋雅章 土屋 

本番環境、Sandbox環境のソース切り替え方法

お世話になっております。

apexで本番、Sandboxでロジックを切り替えたい時に良い方法ありませんでしょうか。

現状、Sandbox開発 -> カバレッジテスト -> 本番リリースとしていますが、
このとき開発用のソースがそのままリリースされてしまいます。

具体的に言うと外部参照時に本番用・Sandboxで向き先を変更したいです。
例) 
request.setEndpoint('https://test.develop.jp/api/user/get');   // 本番は別のURL

 
Best Answer chosen by 雅章 土屋
Ryosuke KobayashiRyosuke Kobayashi
こんにちは。

カスタム表示ラベルを利用してみてはいかがでしょうか。
1つエンドポイント情報を格納するカスタム表示ラベルを作成し、
本番とSandBox環境で格納する値を変えます。

作成したカスタム表示ラベルを、Apexクラスから参照することで、
本番、SandBoxで向き先を変えることができます。
例)request.setEndpoint(System.Label.EndPointUrlLabel); 
※「EndPointUrlLabel」がカスタム表示ラベルの名前です。

他のやり方ですと、URL.getSalesforceBaseUrl()メソッドを利用して、本番か、SandBoxを判断する、
カスタム表示ラベルの代わりにカスタム設定を使うなど、いくつかありますが、
カスタム表示ラベルを利用するのがシンプルかな、と思います。
 

All Answers

Ryosuke KobayashiRyosuke Kobayashi
こんにちは。

カスタム表示ラベルを利用してみてはいかがでしょうか。
1つエンドポイント情報を格納するカスタム表示ラベルを作成し、
本番とSandBox環境で格納する値を変えます。

作成したカスタム表示ラベルを、Apexクラスから参照することで、
本番、SandBoxで向き先を変えることができます。
例)request.setEndpoint(System.Label.EndPointUrlLabel); 
※「EndPointUrlLabel」がカスタム表示ラベルの名前です。

他のやり方ですと、URL.getSalesforceBaseUrl()メソッドを利用して、本番か、SandBoxを判断する、
カスタム表示ラベルの代わりにカスタム設定を使うなど、いくつかありますが、
カスタム表示ラベルを利用するのがシンプルかな、と思います。
 
This was selected as the best answer
雅章 土屋雅章 土屋
ありがとうございます。
カスタム表示ラベル、またはgetSalesforceBaseUrlメソッドを試してみます。
雅章 土屋雅章 土屋
> Ryosuke Kobayashi様

カスタム表示ラベルで実現することができました。
ありがとうございます。
報告が遅くなり失礼いたしました。