TsgcHTTP2Client › Métodos › Patch
Realiza um HTTP/2 PATCH síncrono, aplicando uma modificação parcial ao recurso de destino.
function Patch(const aURL: string; const aSource: TStream): string;
| Name | Type | Descrição |
|---|---|---|
aURL | const string | URL absoluta do recurso a ser parcialmente atualizado. |
aSource | const TStream | Stream contendo o documento de patch (por exemplo, um corpo JSON Patch ou JSON Merge Patch). |
Corpo da resposta retornado pelo servidor decodificado como string. (string)
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).
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);
| Name | Type | Descrição |
|---|---|---|
aURL | const string | URL absoluta do recurso a ser parcialmente atualizado. |
aSource | const TStream | Stream contendo o payload do patch. |
aResponseContent | const TStream | Stream que captura a resposta bruta do servidor. |
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.
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;