この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

RestRequest を使用した Apex REST のコードサンプル

次のサンプルでは、RestRequest オブジェクトを使用して、ケースに添付ファイルを追加する方法を示します。cURL を使用した認証についての詳細は、『REST API Developer's Guide』の「クイックスタート」のセクションを参照してください。このコードでは、バイナリファイルのデータは RestRequest オブジェクトに保存され、Apex サービスクラスはその RestRequest オブジェクトのバイナリデータにアクセスします。
  1. [設定] から [開発] | [Apex クラス] をクリックして、インスタンスに Apex クラスを作成します。[新規] をクリックして、次のコードを新しいクラスに追加します。
    1@RestResource(urlMapping='/CaseManagement/v1/*')
    2global with sharing class CaseMgmtService
    3{
    4
    5    @HttpPost
    6    global static String attachPic(){
    7        RestRequest req = RestContext.request;
    8        RestResponse res = Restcontext.response;
    9        Id caseId = req.requestURI.substring(req.requestURI.lastIndexOf('/')+1);
    10        Blob picture = req.requestBody;
    11        Attachment a = new Attachment (ParentId = caseId,
    12                                       Body = picture,
    13                                       ContentType = 'image/jpg',
    14                                       Name = 'VehiclePicture');
    15        insert a;
    16        return a.Id;
    17   }
    18}
  2. コマンドラインウィンドウを開き、次の cURL コマンドを実行して、ケースに添付ファイルをアップロードします。
    curl -H "Authorization: Bearer sessionId" -H "X-PrettyPrint: 1" -H "Content-Type: image/jpeg" --data-binary @file "https://instance.salesforce.com/services/apexrest/CaseManagement/v1/caseId"
    • sessionId を、ログイン応答でメモした <sessionId> 要素に置き換えます。
    • instance<serverUrl> 要素に置き換えます。
    • caseId を、添付ファイルを追加するケースの ID に置き換えます。
    • file を、添付するファイルのパスとファイル名に置き換えます。

    コマンドは次のようになります (sessionId は、実際のセッション ID です)。

    1curl -H "Authorization: Bearer sessionId" 
    2-H "X-PrettyPrint: 1" -H "Content-Type: image/jpeg" --data-binary @c:\test\vehiclephoto1.jpg 
    3"https://na1.salesforce.com/services/apexrest/CaseManagement/v1/500D0000003aCts"

    このセクションの cURL の例では、名前空間による Apex クラスを使用していないため、URL に名前空間は含まれません。

    メモ

    Apex クラスは、添付ファイル ID を含む次のような JSON 応答を返します。

    1"00PD0000001y7BfMAI"
  3. 添付ファイルと画像がケースに追加されたことを確認するには、[ケース] に移動し、[すべての進行中ケース] ビューを選択します。ケースをクリックし、添付ファイルの関連リストまでスクロールダウンします。作成した添付ファイルが表示されます。