TsgcHTTP2Client › Metodi › Patch
Esegue un HTTP/2 PATCH sincrono, applicando una modifica parziale alla risorsa target.
function Patch(const aURL: string; const aSource: TStream): string;
| Nome | Tipo | Descrizione |
|---|---|---|
aURL | const string | URL assoluto della risorsa da aggiornare parzialmente. |
aSource | const TStream | Stream contenente il documento di patch (ad esempio un corpo JSON Patch o JSON Merge Patch). |
Corpo della risposta restituito dal server decodificato come stringa. (string)
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).
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;
procedure Patch(const aURL: string; const aSource: TStream; const aResponseContent: TStream);
| Nome | Tipo | Descrizione |
|---|---|---|
aURL | const string | URL assoluto della risorsa da aggiornare parzialmente. |
aSource | const TStream | Stream contenente il payload della patch. |
aResponseContent | const TStream | Stream che cattura la risposta non elaborata dal server. |
Variante completamente in streaming. Adatta quando il documento patch o la rappresentazione della risposta è sufficientemente grande da rendere sconveniente un ciclo tramite stringa.
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;