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

HttpResponse クラス

Http クラスによって返された HTTP 応答を処理するには、HttpResponse クラスを使用します。

名前空間

System

使用方法

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);

getHeader(key)

応答ヘッダーの内容を取得します。

署名

public String getHeader(String key)

パラメータ

key
型: String

戻り値

型: String

getHeaderKeys()

応答内に返されたヘッダーキーの配列を取得します。

署名

public String[] getHeaderKeys()

戻り値

型: String[]

getStatus()

応答に返された状況メッセージを取得します。

署名

public String getStatus()

戻り値

型: String

getStatusCode()

応答内に返された状況コードの値を取得します。

署名

public Integer getStatusCode()

戻り値

型: Integer

getXmlStreamReader()

コールアウトレスポンスボディを解析する XmlStreamReader を返します。

署名

public XmlStreamReader getXmlStreamReader()

戻り値

型: System.XmlStreamReader

使用方法

次のショートカットとして使用できます。

1String xml = httpResponse.getBody();
2XmlStreamReader xsr = new XmlStreamReader(xml);

setBody(body)

応答で返された本文を指定します。

署名

public Void setBody(String body)

パラメータ

body
型: String

戻り値

型: Void

setBodyAsBlob(body)

Blob を使用して、応答で返された本文を指定します。

署名

public Void setBodyAsBlob(Blob body)

パラメータ

body
型: Blob

戻り値

型: Void

setHeader(key, value)

応答ヘッダーの内容を指定します。

署名

public Void setHeader(String key, String value)

パラメータ

key
型: String
value
型: String

戻り値

型: Void

setStatus(status)

応答で返された状況メッセージを指定します。

署名

public Void setStatus(String status)

パラメータ

status
型: String

戻り値

型: Void

setStatusCode(statusCode)

応答で返された状況コードの値を指定します。

署名

public Void setStatusCode(Integer statusCode)

パラメータ

statusCode
型: Integer

戻り値

型: Void

toString()

次のような応答内に返された状況メッセージと状況コードを返します。

署名

public String toString()

戻り値

型: String

1Status=OK, StatusCode=200