TsgcHTTP3Client › Methoden › Patch
Sendet eine synchrone HTTP/3-PATCH-Anfrage mit einer Payload zur teilweisen Aktualisierung.
function Patch(const aURL: string; const aData: string;
const aContentType: string = 'application/json'): string; overload;
| Name | Typ | Beschreibung |
|---|---|---|
aURL | const string | Absolute URL der Zielressource. |
aData | const string | Anfrage-Body. Er wird vor dem Senden im HTTP/3-DATA-Frame als UTF-8 kodiert. |
aContentType | const string | Wert des content-type-Anfrage-Headers. Standardmäßig application/json. |
Vom Server empfangener Antworttext, als String dekodiert. (string)
procedure Patch(const aURL: string; const aSource: TStream;
const aResponseContent: TStream); overload;
| Name | Typ | Beschreibung |
|---|---|---|
aURL | const string | Absolute URL der Zielressource. |
aSource | TStream | Stream, der vollständig ab Position 0 gelesen und als Request-Body gesendet wird. Darf nil sein, um einen leeren Body zu senden. |
aResponseContent | TStream | Stream, der den Antwort-Body empfängt. |
Keine. Der Antwort-Body wird nach aResponseContent geschrieben.
Der Aufruf blockiert den aufrufenden Thread, bis die vollständige Antwort empfangen wurde. Wenn der Client noch nicht verbunden ist, wird die URL verwendet, um zuerst die QUIC-Verbindung zu öffnen. Für eine nicht-blockierende Anfrage verwenden Sie PatchAsync, das die Antwort über OnResponse liefert.
PATCH wendet eine teilweise Änderung auf die Zielressource an, sodass nur die geänderten Felder im Body übertragen werden. Anders als Put muss es nicht idempotent sein. Die String-Überladung setzt aContentType standardmäßig auf application/json.
Die Stream-Überladung sendet immer content-type: application/octet-stream. Sie akzeptiert keinen Parameter aContentType, verwenden Sie daher die String-Überladung, wenn der Server einen bestimmten Medientyp verlangt.
vBody := '{"email": "john@example.com"}';
vResponse := oClient.Patch('https://api.example.com/v1/users/1', vBody);