TsgcHTTP2ClientMetodi › Patch

Patch Method

Esegue un HTTP/2 PATCH sincrono, applicando una modifica parziale alla risorsa target.

Overload

Overload 1

Sintassi

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

Parametri

NomeTipoDescrizione
aURLconst stringURL assoluto della risorsa da aggiornare parzialmente.
aSourceconst TStreamStream contenente il documento di patch (ad esempio un corpo JSON Patch o JSON Merge Patch).

Valore restituito

Corpo della risposta restituito dal server decodificato come stringa. (string)

Note

A differenza di PUT, PATCH invia solo i campi che devono cambiare. Assicurarsi che Request.ContentType corrisponda al formato patch atteso dal server (ad es. application/json-patch+json o application/merge-patch+json).

Esempio

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;

Sovraccarico 2

Sintassi

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

Parametri

NomeTipoDescrizione
aURLconst stringURL assoluto della risorsa da aggiornare parzialmente.
aSourceconst TStreamStream contenente il payload della patch.
aResponseContentconst TStreamStream che cattura la risposta non elaborata dal server.

Note

Variante completamente in streaming. Adatta quando il documento patch o la rappresentazione della risposta è sufficientemente grande da rendere sconveniente un ciclo tramite stringa.

Esempio

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;

Torna ai Metodi