TsgcHTTP2Client › Métodos › Patch
Realiza un PATCH HTTP/2 síncrono, aplicando una modificación parcial al recurso de destino.
function Patch(const aURL: string; const aSource: TStream): string;
| Nombre | Tipo | Descripción |
|---|---|---|
aURL | const string | URL absoluta del recurso que se va a actualizar parcialmente. |
aSource | const TStream | Stream que contiene el documento de parche (por ejemplo, un cuerpo JSON Patch o JSON Merge Patch). |
Cuerpo de respuesta devuelto por el servidor decodificado como cadena. (string)
A diferencia de PUT, PATCH envía únicamente los campos que deben modificarse. Asegúrese de que Request.ContentType coincida con el formato de parche esperado por el servidor (p. ej., 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);
| Nombre | Tipo | Descripción |
|---|---|---|
aURL | const string | URL absoluta del recurso que se va a actualizar parcialmente. |
aSource | const TStream | Flujo que contiene el payload del parche. |
aResponseContent | const TStream | Stream que captura la respuesta sin procesar del servidor. |
Variante completamente transmitida en flujo. Adecuada cuando el documento de parche o la representación de la respuesta son lo suficientemente grandes como para que un ciclo de cadena resulte ineficiente.
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;