Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.360 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: RESTRequest: Zwei Parameter mit identischen Schlüssel hinzufügen

  Alt 9. Apr 2020, 11:40
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);
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat