TsgcHTTP2ClientMétodos › Patch

Patch Method

Realiza um HTTP/2 PATCH síncrono, aplicando uma modificação parcial ao recurso de destino.

Overloads

Overload 1

Sintaxe

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

Parâmetros

NameTypeDescrição
aURLconst stringURL absoluta do recurso a ser parcialmente atualizado.
aSourceconst TStreamStream contendo o documento de patch (por exemplo, um corpo JSON Patch ou JSON Merge Patch).

Valor de retorno

Corpo da resposta retornado pelo servidor decodificado como string. (string)

Observações

Ao contrário do PUT, o PATCH envia apenas os campos que devem mudar. Certifique-se de que Request.ContentType corresponda ao formato de patch esperado pelo servidor (por exemplo application/json-patch+json ou application/merge-patch+json).

Exemplo

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

Sintaxe

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

Parâmetros

NameTypeDescrição
aURLconst stringURL absoluta do recurso a ser parcialmente atualizado.
aSourceconst TStreamStream contendo o payload do patch.
aResponseContentconst TStreamStream que captura a resposta bruta do servidor.

Observações

Variante totalmente em stream. Adequada quando o documento de patch ou a representação da resposta é grande o suficiente para que um round-trip de string seja desperdício.

Exemplo

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;

Voltar para Métodos