TsgcHTTP2Client › Méthodes › Patch
Effectue un PATCH HTTP/2 synchrone, appliquant une modification partielle à la ressource cible.
function Patch(const aURL: string; const aSource: TStream): string;
| Nom | Type | Description |
|---|---|---|
aURL
| const string | URL absolue de la ressource à mettre à jour partiellement. |
aSource | const TStream
| Flux contenant le document de patch (par exemple un corps JSON Patch ou JSON Merge Patch). |
Corps de réponse retourné par le serveur décodé en chaîne. (string)
Contrairement à PUT, PATCH n'envoie que les champs qui doivent changer. Assurez-vous que Request.ContentType correspond au format de patch attendu par le serveur (par ex. application/json-patch+json ou 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);
| Nom | Type | Description |
|---|---|---|
aURL
| const string | URL absolue de la ressource à mettre à jour partiellement. |
aSource | const TStream
| Flux contenant la charge utile de patch. |
aResponseContent | const TStream
| Flux qui capture la réponse brute du serveur. |
Variante entièrement en streaming. Adaptée lorsque le document de patch ou la représentation de la réponse est suffisamment volumineuse pour qu'un aller-retour en chaîne soit peu économique.
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;