TsgcHTTP2ClientMétodos › Patch

Patch Método

Realiza un PATCH HTTP/2 síncrono, aplicando una modificación parcial al recurso de destino.

Sobrecargas

Sobrecarga 1

Sintaxis

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

Parámetros

NombreTipoDescripción
aURLconst stringURL absoluta del recurso que se va a actualizar parcialmente.
aSourceconst TStreamStream que contiene el documento de parche (por ejemplo, un cuerpo JSON Patch o JSON Merge Patch).

Valor de Retorno

Cuerpo de respuesta devuelto por el servidor decodificado como cadena. (string)

Observaciones

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).

Ejemplo

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;

Sobrecarga 2

Sintaxis

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

Parámetros

NombreTipoDescripción
aURLconst stringURL absoluta del recurso que se va a actualizar parcialmente.
aSourceconst TStreamFlujo que contiene el payload del parche.
aResponseContentconst TStreamStream que captura la respuesta sin procesar del servidor.

Observaciones

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.

Ejemplo

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;

Volver a Métodos