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

HttpRequest クラス

GET、POST、PUT、および DELETE のような HTTP 要求をプログラムで作成するには、HttpRequest クラスを使用します。

名前空間

System

使用方法

HttpRequest で作成されたリクエストボディ内の XML または JSON コンテンツを解析するには、XML クラスまたは JSON クラスを使用します。

次の例は、要求に認証ヘッダーを使用する方法と応答の処理を示しています。

エンドポイントを指定ログイン情報 URL として設定できます。指定ログイン情報 URL にはスキームcallout:、指定ログイン情報の名前、必要に応じて追加されたパスが含まれます。例: callout:My_Named_Credential/some_path。指定ログイン情報では、1 つの定義にコールアウトエンドポイントの URL と必要な認証パラメータを指定します。Apex コールアウトで指定ログイン情報をコールアウトエンドポイントとして指定するすべての認証が Salesforce によって管理されるため、コードでこれらを行う必要はありません。「コールアウトエンドポイントとしての指定ログイン情報」を参照してください。

メモ

圧縮

送信するデータを圧縮するには、setCompressed を使用します。

応答が圧縮形式で返されると、getBody が形式を認識して展開し、展開された値を返します。

HttpRequest のコンストラクタ

HttpRequest のコンストラクタは次のとおりです。

HttpRequest()

HttpRequest クラスの新しいインスタンスを作成します。

署名

public HttpRequest()

HttpRequest のメソッド

HttpRequest のメソッドは次のとおりです。すべてインスタンスメソッドです。

getBody()

このリクエストボディを取得します。

署名

public String getBody()

戻り値

型: String

getBodyAsBlob()

このリクエストボディを Blob として取得します。

署名

public Blob getBodyAsBlob()

戻り値

型: Blob

getBodyDocument()

このリクエストボディを DOM ドキュメントとして取得します。

署名

public Dom.Document getBodyDocument()

戻り値

型: Dom.Document

このメソッドを次のショートカットとして使用します。

getCompressed()

true の場合、リクエストボディは圧縮され、false の場合は圧縮されません。

署名

public Boolean getCompressed()

戻り値

型: Boolean

getEndpoint()

この要求の外部サーバのエンドポイントの URL を取得します。

署名

public String getEndpoint()

戻り値

型: String

getHeader(key)

要求ヘッダーの内容を取得します。

署名

public String getHeader(String key)

パラメータ

key
型: String

戻り値

型: String

getMethod()

HttpRequest によって使用されるメソッドの種別を返します。

署名

public String getMethod()

戻り値

型: String

使用方法

次は、戻り値の例です。

  • DELETE
  • GET
  • HEAD
  • POST
  • PUT
  • TRACE

setBody(body)

このリクエストボディの内容を設定します。

署名

public Void setBody(String body)

パラメータ

body
型: String

戻り値

型: Void

使用方法

制限: 同期 Apex の場合は 6 MB、非同期 Apex の場合は 12 MB。

HTTP 要求のサイズおよび応答のサイズは、ヒープサイズの合計にカウントされます。

setBodyAsBlob(body)

Blob を使用して、このリクエストボディの内容を設定します。

署名

public Void setBodyAsBlob(Blob body)

パラメータ

body
型: Blob

戻り値

型: Void

使用方法

制限: 同期 Apex の場合は 6 MB、非同期 Apex の場合は 12 MB。

HTTP 要求のサイズおよび応答のサイズは、ヒープサイズの合計にカウントされます。

setBodyDocument(document)

このリクエストボディの内容を設定します。内容は DOM ドキュメントを表します。

署名

public Void setBodyDocument(Dom.Document document)

パラメータ

document
型: Dom.Document

戻り値

型: Void

使用方法

制限: 同期 Apex の場合は 6 MB、非同期 Apex の場合は 12 MB。

setClientCertificate(clientCert, password)

このメソッドは非推奨です。代わりに、setClientCertificateName を使用してください。

署名

public Void setClientCertificate(String clientCert, String password)

パラメータ

clientCert
型: String
password
型: String

戻り値

型: Void

使用方法

サーバが認証用のクライアント証明書を要求する場合、クライアント証明書 PKCS12 キーストアとパスワードを設定します。

setClientCertificateName(certDevName)

外部サービスに認証用のクライアント証明書が必要な場合、証明書の名前を設定します。

署名

public Void setClientCertificateName(String certDevName)

パラメータ

certDevName
型: String

戻り値

型: Void

使用方法

「HTTP 要求での証明書の使用」を参照してください。

setCompressed(flag)

true の場合、本文内のデータは gzip 圧縮形式でエンドポイントに配信されます。false の場合、非圧縮形式が使用されます。

署名

public Void setCompressed(Boolean flag)

パラメータ

flag
型: Boolean

戻り値

型: Void

setEndpoint(endpoint)

この要求のエンドポイントを指定します。

署名

public Void setEndpoint(String endpoint)

パラメータ

endpoint
型: String
エンドポイントに使用できる値は、次のとおりです。
  • エンドポイント URL
  • 指定ログイン情報 URL (スキーム callout、指定ログイン情報の名前、必要に応じて追加されたパスを含む)

戻り値

型: Void

setHeader(key, value)

要求ヘッダーの内容を設定します。

署名

public Void setHeader(String key, String value)

パラメータ

key
型: String
value
型: String

戻り値

型: Void

使用方法

制限 100 KB

setMethod(method)

HTTP 要求によって使用されるメソッドの種別を設定します。

署名

public Void setMethod(String method)

パラメータ

method
型: String
このメソッドの種別の値には、次のものがあります。
  • DELETE
  • GET
  • HEAD
  • POST
  • PUT
  • TRACE

戻り値

型: Void

使用方法

このメソッドは要求オプションの設定にも使用できます。

setTimeout(timeout)

要求のタイムアウトをミリ秒単位で設定します。

署名

public Void setTimeout(Integer timeout)

パラメータ

timeout
型: Integer

戻り値

型: Void

使用方法

タイムアウト値は 1 ~ 120,000 ミリ秒の間で設定します。

toString()

この要求の外部サーバのエンドポイントの URL と、使用されるメソッドが含まれる文字列を返します。次に例を示します。Endpoint=http://YourServer, Method=POST

署名

public String toString()

戻り値

型: String