Das ist sogar recht simpel, wenn auch nicht mit den vorhandenen Methoden:
Delphi-Quellcode:
type
TMultiParamRESTRequestParameterListHelper = class helper for TRESTRequestParameterList
function AddMultiItem(const AName, AValue: string; AKind: TRESTRequestParameterKind;
AOptions: TRESTRequestParameterOptions = []): TRESTRequestParameter;
end;
...
{ TMultiParamRESTRequestParameterListHelper }
function TMultiParamRESTRequestParameterListHelper.AddMultiItem(const AName, AValue: string;
AKind: TRESTRequestParameterKind; AOptions: TRESTRequestParameterOptions): TRESTRequestParameter;
begin
Self.BeginUpdate;
try
Result := Self.Add as TRESTRequestParameter;
Result.Name := AName;
Result.Value := AValue;
Result.Kind := AKind;
Result.Options := AOptions;
finally
Self.EndUpdate;
end;
end;
Der class helper kann auch in einer eigenen
Unit liegen, die bei Verwendung eingebunden wird. Und dann einfach so aufrufen:
Delphi-Quellcode:
RESTRequest.Params.AddMultiItem('file', 'Test.pdf', TRESTRequestParameterKind.pkFILE);
RESTRequest.Params.AddMultiItem('file', 'Test.json', TRESTRequestParameterKind.pkFILE);