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

HttpRequest クラス

GET、POST、PATCH、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
  • PATCH
  • 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
  • PATCH
  • 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