この文章は 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)

要求のタイムアウトを 1 ~ 120,000 ミリ秒の間で設定します。このタイムアウトは HTTP 接続が確立されるまでの最大待機時間です。同じタイムアウトは、要求が開始されるまでの待機にも適用されます。データを取得または投稿しているときなど、要求が実行されているときは、接続は要求が完了するまで維持されます。

署名

public Void setTimeout(Integer timeout)

パラメーター

timeout
型: Integer

戻り値

型: Void

toString()

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

署名

public String toString()

戻り値

型: String