ワークベンチの紹介
Workbench は Salesforce.com の公式製品ではありません。ただし、Salesforce アカウントにログインするだけで、Salesforce を利用して、選択、挿入、更新/挿入、更新、削除などのデータ操作操作を実行します (サンドボックスと本番の両方をサポート)。これは、Salesforce で Workbench にログインするための公式 Web サイトです。 https://workbench.developerforce.com/login.php 。
現時点では、API バージョンは既存のもののみにして、「Salesforce でログイン」ボタンをクリックします。
REST Explorer が必要です。 「ユーティリティ」タブに移動し、「REST Explorer」をクリックします。
次の図のような UI が表示されます。このガイド全体では、Salesforce からレコードを取得するために GET を選択する必要があります。 Salesforce レコードを取得する URI を指定し、「実行」ボタンをクリックする必要があります。
Salesforce ID を使用して特定のレコードを取得する
Salesforce レコード ID に基づいて、Salesforce のレコード全体を取得できます。次のように URI を設定する必要があります。
/ サービス / データ / v56.0 / オブジェクト / オブジェクトAPI名 / IDここで、「objectAPIName」は Salesforce 標準/カスタム オブジェクトで、「id」は Salesforce ID を指します。
戻る:
次のような HTTP/1.1 200 OK の生の応答が JSON 形式で取得されます。
{「属性」 : {
'タイプ' :
「URL」 :
} 、
'分野' : 価値、
...
}
例:
この例では、5005i00000W4GM5AAN ケース レコードを取得します。
タイプ: / サービス / データ / v56.0 / オブジェクト / 場合 / 5005i00000W4GM5AAN結果:
応答が JSON 形式で生成されていることがわかります。
ここから結果を直接表示することもできます。
クエリで複数のレコードを取得する
Salesforce オブジェクトから複数のレコードを取得します。以前は、URI で sobject を指定しました。ここでは、クエリをパラメータとして受け取るクエリを指定する必要があります。
URI: サービス / データ / v57.0 / クエリ / ? q =SELECT+フィールド 1,フィールド 2,....+from+オブジェクト API 名クエリ内のキーワードを結合するには、区切り文字として「+」を使用する必要があります。 totalSize を返し、フォルダーに記録します。各レコードのフォルダ名は、[項目 1]、…[項目 n] となります。
例 1:
CaseNumber、ステータス、優先度、説明を含むレコードを Case オブジェクトから返しましょう。
結果:
「すべて展開」をクリックすると、すべてのレコードがその属性と値とともに表示されます。
最初と最後のレコードを示します。
例 2:
最初の例で示したように、同じフィールドを持つ 3 つのレコードだけを返してみましょう。
結果:
Case オブジェクトに存在する最初の 2 つのレコードが返されます。
例 3:
「新規」ステータスのレコードを選択するクエリに WHERE 条件を指定してみましょう。
結果:
「新規」ステータスのレコードが 5 件存在します。
Apex のカスタム REST リソース
ワークベンチでURIを指定することでSalesforceオブジェクトからレコードを返すSalesforce Apexを利用できます。 Apex で REST を記述するには、Apex クラスの REST API にアクセスするいくつかのアノテーションを利用する必要があります。 Apex クラスがグローバルに静的である必要があることを確認してください。
1. @RestResource アノテーション
このアノテーションは、Apex クラスを REST リソースとして公開することを有効にするために使用されます。ワークベンチで URI を見つけるために使用されるパラメータとして urlMapping を受け取ります。
構文: @RestResource(urlMapping=’/Version/ApexClassName/’)
「バージョン」は V56.0 などのワークベンチのバージョンで、「ApexClassName」は Rest API リソースが関与する Apex クラスです。
2. @HttpGet アノテーション
このアノテーションは、Apex クラスを REST リソースとして公開することを有効にするために使用されます。これは、HTTP GET リクエストがサーバーに送信されるときに呼び出され、指定されたリソースを返します。
構文: @httpGet
例 1: 単一パラメータ
Case オブジェクトのケースから ID、CaseNumber、ステータス、優先度、および発生元を返す「Rest Get」メソッドを含む Apex クラス「RestApi_Get_Record.apxc」を作成します。
@ 残りのリソース ( URLマッピング = '/v56.0/RestApi_Get_Record/' )グローバル クラス RestApi_Get_Record {
// REST - メソッドの取得
@ httpGet
グローバル静的ケース getCaseDetails ( ) {
// オブジェクトの作成 ために ケースオブジェクト
ケース case_obj = 新しいケース ( ) ;
地図 < 文字列、文字列 > paramsMap = RestContext.request.params;
// 入手 場合 ID
文字列 caseid =paramsMap.get ( '入力ID' ) ;
// SOQL クエリ 戻る ID ,ケース番号,ステータス,優先度,発生元のケース
// Case オブジェクト
case_obj = [ 選択する ID ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid 】 ;
戻る ケース_オブジェクト;
}
}
URI と結果:
ワークベンチに移動し、REST エクスプローラーに移動します。 id を 5002t00000Pdzr2AAB として input_id パラメーターに渡します。
/ サービス / 頂点レスト / v56.0 / RestApi_Get_Record / ? 入力ID =5002t00000Pdzr2AAB
説明:
- 「case_obj」ケースのオブジェクトを作成します。
- RestContext.request.params を使用してパラメータを取得します。
- パラメータ input_id からケース ID を取得し、これを caseid 変数に保存します。
- 「caseid」ケースの Case オブジェクトから ID、CaseNumber、ステータス、優先度、ケースの発生元を返す SOQL クエリを作成します。
- case オブジェクト (case_obj) を返します。
例 2: 複数のパラメータ
前の Apex クラスを利用し、ID とともに「ステータス」パラメータを取得します。これら 2 つのパラメータをワークベンチ URI で「&」で区切って指定します。
@ 残りのリソース ( URLマッピング = '/v56.0/RestApi_Get_Record/' )グローバル クラス RestApi_Get_Record {
// REST - メソッドの取得
@ httpGet
グローバル静的ケース getCaseDetails ( ) {
// オブジェクトの作成 ために ケースオブジェクト
ケース case_obj = 新しいケース ( ) ;
地図 < 文字列、文字列 > id_param = RestContext.request.params;
地図 < 文字列、文字列 > status_param = RestContext.request.params;
// id_param を case_id に取得します
文字列 case_id = id_param.get ( '入力ID' ) ;
// status_param を case_status に取得します。
文字列 case_status =status_param.get ( 'スターテス' ) ;
case_obj = [ 選択する ID ,CaseNumber,Status,Priority,Origin from Case (Id =:case_id および Status =:case_status) ] ;
戻る ケース_オブジェクト;
}
}
URI と結果:
ワークベンチに移動し、REST エクスプローラーに移動します。 URI で input_id を 5002t00000PdzqwAAB として渡し、ステータスを「Closed」として渡します。
/ サービス / 頂点レスト / v56.0 / RestApi_Get_Record / ? 入力ID =5002t00000PdzqwAAB & スターテス =閉店
結論
Workbench を使用して Salesforce REST API を通じて Salesforce レコードを取得する 3 つのシナリオについて説明しました。特定のレコードを返すには、URI のパラメータとして ID を渡して sObject を指定する必要があります。同様に、クエリ パラメーターを渡して特定のレコードを取得します。 Apex を使用すると、単一または複数のパラメータに基づいてレコードを選択する独自の「Get」メソッドを作成できます。