TsgcHTTP2Client › 메서드 › Patch
동기 HTTP/2 PATCH를 수행하여 대상 리소스에 부분 수정을 적용합니다.
function Patch(const aURL: string; const aSource: TStream): string;
| Name | Type | 설명 |
|---|---|---|
aURL | const string | 부분적으로 업데이트할 리소스의 절대 URL입니다. |
aSource | const TStream | patch 문서(예: JSON Patch 또는 JSON Merge Patch 본문)를 담은 스트림입니다. |
서버가 반환한 응답 본문을 문자열로 디코딩한 것. (string)
PUT과 달리, PATCH는 변경되어야 하는 필드만 보냅니다. Request.ContentType이 서버가 예상하는 패치 형식(예: application/json-patch+json 또는 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 | 설명 |
|---|---|---|
aURL | const string | 부분적으로 업데이트할 리소스의 절대 URL입니다. |
aSource | const TStream | 패치 페이로드를 포함하는 스트림. |
aResponseContent | const TStream | 서버로부터의 원시 응답을 캡처하는 스트림입니다. |
완전히 스트리밍되는 변형입니다. patch 문서나 응답 표현이 문자열 왕복이 낭비될 만큼 충분히 큰 경우에 적합합니다.
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;