HttpResponse クラス
Http クラスによって返された HTTP 応答を処理するには、HttpResponse クラスを使用します。
名前空間
使用方法
HttpResponse でアクセスされたレスポンスボディ内の XML または JSON コンテンツを解析するには、XML クラスまたは JSON クラスを使用します。
例
次の getXmlStreamReader の例では、コンテンツは HTTP コールアウト経由で取得され、XML は XmlStreamReader クラスを使用して解析されます。
1public class ReaderFromCalloutSample {
2 public void getAndParse() {
3
4 // Get the XML document from the endpoint
5 Http http = new Http();
6 HttpRequest req = new HttpRequest();
7 req.setEndpoint(URL.getOrgDomainUrl().toExternalForm() + '/services/data');
8 req.setMethod('GET');
9 req.setHeader('Accept', 'application/xml');
10 HttpResponse res = http.send(req);
11
12 // Log the XML content
13 System.debug(res.getBody());
14
15 // Generate the HTTP response as an XML stream
16 XmlStreamReader reader = res.getXmlStreamReader();
17
18 // Read through the XML
19 while(reader.hasNext()) {
20 System.debug('Event Type:' + reader.getEventType());
21 if (reader.getEventType() == XmlTag.START_ELEMENT) {
22 System.debug(reader.getLocalName());
23 }
24 reader.next();
25 }
26
27 }
28}HttpResponse のメソッド
HttpResponse のメソッドは次のとおりです。すべてインスタンスメソッドです。
getBody()
応答で返された本文を取得します。
署名
public String getBody()
戻り値
型: String
使用方法
制限: 同期 Apex の場合は 6 MB、非同期 Apex の場合は 12 MB。HTTP 要求のサイズおよび応答のサイズは、ヒープサイズの合計に含まれます。
getBodyAsBlob()
応答で返された本文を Blob として取得します。
署名
public Blob getBodyAsBlob()
戻り値
型: Blob
使用方法
制限: 同期 Apex の場合は 6 MB、非同期 Apex の場合は 12 MB。HTTP 要求のサイズおよび応答のサイズは、ヒープサイズの合計に含まれます。
getBodyDocument()
応答で返された本文を DOM ドキュメントとして取得します。
署名
public Dom.Document getBodyDocument()
戻り値
型: Dom.Document
例
次のショートカットとして使用できます。
1String xml = httpResponse.getBody();
2Dom.Document domDoc = new Dom.Document(xml);getXmlStreamReader()
コールアウトレスポンスボディを解析する XmlStreamReader を返します。
署名
public XmlStreamReader getXmlStreamReader()
戻り値
使用方法
次のショートカットとして使用できます。
1String xml = httpResponse.getBody();
2XmlStreamReader xsr = new XmlStreamReader(xml);setStatusCode(statusCode)
toString()
次のような応答内に返された状況メッセージと状況コードを返します。
署名
public String toString()
戻り値
型: String
例
1Status=OK, StatusCode=200