TsgcHTTP2Clientメソッド › Patch

Patch メソッド

ターゲットリソースへの部分的な変更を適用する同期 HTTP/2 PATCH を実行します。

オーバーロード

オーバーロード 1

構文

function Patch(const aURL: string; const aSource: TStream): string;

パラメータ

名前タイプ説明
aURLconst string部分的に更新されるリソースの絶対URL。
aSourceconst TStreamパッチドキュメントを保持するストリーム(例: JSON パッチまたは JSON マージパッチ本文)。

戻り値

サーバーから返されるレスポンスボディを文字列としてデコードしたものです。(string

解説

PUT とは異なり、PATCH は変更すべきフィールドのみを送信します。Request.ContentType がサーバーが期待するパッチ形式(例: application/json-patch+json または application/merge-patch+json)と一致していることを確認してください。

使用例

oBody := TStringStream.Create('{"email":"new@example.com"}');
try
  oClient.Request.ContentType := 'application/merge-patch+json';
  vResponse := oClient.Patch('https://api.example.com/users/42', oBody);
finally
  oBody.Free;
end;

オーバーロード 2

構文

procedure Patch(const aURL: string; const aSource: TStream; const aResponseContent: TStream);

パラメータ

名前タイプ説明
aURLconst string部分的に更新されるリソースの絶対URL。
aSourceconst TStreamパッチペイロードを含むストリーム。
aResponseContentconst TStreamサーバーからの生のレスポンスをキャプチャするストリーム。

解説

完全にストリーミングされるバリアント。パッチドキュメントまたはレスポンス表現が、文字列のラウンドトリップが無駄になるほど大きい場合に適しています。

使用例

oIn := TFileStream.Create('patch.json', fmOpenRead);
oOut := TMemoryStream.Create;
try
  oClient.Patch('https://api.example.com/users/42', oIn, oOut);
finally
  oOut.Free;
  oIn.Free;
end;

メソッドに戻る