TsgcHTTP2Client메서드 › Patch

Patch 메서드

동기 HTTP/2 PATCH를 수행하여 대상 리소스에 부분 수정을 적용합니다.

Overloads

오버로드 1

구문

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

Parameters

NameType설명
aURLconst string부분적으로 업데이트할 리소스의 절대 URL입니다.
aSourceconst TStreampatch 문서(예: 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;

Overload 2

구문

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

Parameters

NameType설명
aURLconst string부분적으로 업데이트할 리소스의 절대 URL입니다.
aSourceconst TStream패치 페이로드를 포함하는 스트림.
aResponseContentconst 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;

메서드로 돌아가기