fphttpclient keine PATCH-methode?

Alle Fragen zur Netzwerkkommunikation
Antworten
Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

fphttpclient keine PATCH-methode?

Beitrag von Thandor »

Hallo,

ich hoffe ich bin in dieser Kategorie richtig...

Ich bin gerader dabei eine API-Anbindung an einem Webshop (Shopware) zu schreiben.
Dazu nehme ich den fphttpclient, nun möchte ich aber inhalte updaten. Die API möchte, dass ich die 'PATCH'-Methode verwende aber die scheint es beim fphttpclient nich zu geben?

Habe ich was übersehen? Gibt es alternativen?

liebe Grüße
Thandor

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: fphttpclient keine PATCH-methode?

Beitrag von Warf »

Thandor hat geschrieben:Hallo,

ich hoffe ich bin in dieser Kategorie richtig...

Ich bin gerader dabei eine API-Anbindung an einem Webshop (Shopware) zu schreiben.
Dazu nehme ich den fphttpclient, nun möchte ich aber inhalte updaten. Die API möchte, dass ich die 'PATCH'-Methode verwende aber die scheint es beim fphttpclient nich zu geben?

Habe ich was übersehen? Gibt es alternativen?

liebe Grüße
Thandor


Du kannst über die methode HTTPMethod beliebeige Methoden verwenden:

Code: Alles auswählen

var
  httpClient: TFPHTTPClient;
  outputStream: TStringStream;
  ResponseString: String;
begin
  httpClient := TFPHTTPClient.Create(nil);
  outputStream := TStringStream.Create('');
  try
    httpClient.HTTPMethod('PATCH', 'http://URL.de', outputStream, [201]);
    ResponseString = outputStream.DataString;
  finally
    httpClient.Free;
    outputStream.Free;
  end;
end;


Für mehr informationen lohnt es sich einfach mal in den source vom fphttpclienten reinzuschauen, Z.B. via strg+click auf die .Post methode, da siehst du wie der content gesetzt wird und wie HTTPMethod aufgerufen werden muss.

Am einfachsten wäre es wohl einen Class Helper zu schreiben der den fphttpclienten um die methoden die du benötigst erweitert

Thandor
Beiträge: 153
Registriert: Sa 30. Jan 2010, 18:17
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 3.0 mit FPC 3.2.2 (32Bit + 64bit)
CPU-Target: 64Bit
Wohnort: Berlin

Re: fphttpclient keine PATCH-methode?

Beitrag von Thandor »

Hallo Warf,

danke für deine Hilfe. Die Funktion HTTPMethod habe ich einfach übersehen bzw. nicht erkannt. So ist das manschmal mit dem Wald und den Bäumen.
hast mir sehr weiter geholfen. Danke.

liebe Grüße
Thandor

Antworten