Apex RestResponse オブジェクトを使ってJSONを返すサンプル

環境
salesforce

操作例
1.JSONを作成して返します
サンプルコード

JSONGenerator json = JSON.createGenerator(false);
json.writeStartObject();
json.writeStringField('city', 'TOKYO');
json.writeEndObject();
String jsonBody = json.getAsString();
RestResponse res = RestContext.response;
res.addHeader('Content-Type', 'application/json');
res.statusCode = 201;
res.responseBody = Blob.valueOf(jsonBody);
return;

説明
JSONを作成した後、RestResponse オブジェクトの responseBody にJSONを付加して返します。

2.オブジェクトを返します
サンプルコード

@HttpPost
global static void doPost(Map<String,String> cft)(
  Account acct = [SELECT Name, Phone FROM Account LIMIT 1];
  return acct;
}

レコード acct の Name, Phone 項目に関する情報がJSONに変換されてHTTPレスポンスで返ってきます。

Apex

Posted by arkgame