AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi RESTRequest: Zwei Parameter mit identischen Schlüssel hinzufügen
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Blo · begonnen am 9. Apr 2020 · letzter Beitrag vom 14. Apr 2020
Antwort Antwort
Benutzerbild von Blo
Blo

Registriert seit: 20. Feb 2005
Ort: Kaarst
91 Beiträge
 
Delphi 12 Athens
 
#1

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

  Alt 9. Apr 2020, 13:34
Hallo Herr Jänicke!

[QUOTE=jaenicke;1461716]
Dann bleibt leider nur die ganze Unit zu kopieren und zu modifizieren.
Ja dann klappt es! Und der Server schickt keine Fehlernachricht! (Nach so vielen fehlerhaften Versuchen, erwartet man ja schon vom Server Fehlernachrichten)

Noch eine Anschlussfrage: Der Server schickt in seiner Antwort eine pdf-Datei mit. Die ergibt sich aus den oben erwähnten beiden Dateien.
In "Postman" klicke ich einfach auf "Save Response".

Ich habe nach einem Beispiel gesucht, wie ich das in Delphi mache. In der Hilfe (Handling an HTTP Response) steht nur Grundsätzliches. Haben Sie / Hat jemand hier für ein Beispiel?
Ulrich Blomeyer
  Mit Zitat antworten Zitat
Benutzerbild von Blo
Blo

Registriert seit: 20. Feb 2005
Ort: Kaarst
91 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 13. Apr 2020, 10:12
Noch eine Anschlussfrage: Der Server schickt in seiner Antwort eine pdf-Datei mit. Die ergibt sich aus den oben erwähnten beiden Dateien.
In "Postman" klicke ich einfach auf "Save Response".

Ich habe nach einem Beispiel gesucht, wie ich das in Delphi mache. In der Hilfe (Handling an HTTP Response) steht nur Grundsätzliches. Haben Sie / Hat jemand hier für ein Beispiel?
... hat sich mittlerweile erledigt. Lösung ist eigentlich ganz einfach:

Code:
procedure TfRestTest.RESTRequestAfterExecute(Sender: TCustomRESTRequest);
var
  msPdfContent: TMemorystream;
begin
  msPdfContent:= TMemorystream.Create;
  try
    msPdfContent.WriteData(RESTResponse.RawBytes, length(RESTResponse.RawBytes));
    msPdfContent.SaveToFile('Test_sig.pdf');
  finally
    msPdfContent.Free;
  end;
end;
Ulrich Blomeyer
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.094 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 13. Apr 2020, 17:47
[QUOTE=Blo;1461720]Hallo Herr Jänicke!

Dann bleibt leider nur die ganze Unit zu kopieren und zu modifizieren.
Ja dann klappt es! Und der Server schickt keine Fehlernachricht! (Nach so vielen fehlerhaften Versuchen, erwartet man ja schon vom Server Fehlernachrichten)
Verstehe ich das richtig: mittels Kopieren/Modifizieren einer RTL unit kann man diese Beschränkung auf "jeder Parametername darf nur einmal vorkommen"
beseitigen?

Falls dem so ist wäre denke ich ein QP request angebracht, dass die HTTP Komponenten mehrere gleichnamige Parameter erlauben sollten,
da manche REST APIs das so verlangen (im Report dann das benutzte API als Beispiel aufführen).

Sonst kopieren wir anderen auch übermorgen noch Units und passen die manuell an...
Die sind dann bei jedem Update auf andere Änderungen des Originals abzuprüfen um diese dann übernehmen zu können

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.055 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 13. Apr 2020, 17:54
Es wäre hier am sinnvollsten ein Supportticket aufzumachen und zu schreiben mit welchen Änderungen das lösbar ist. Dann ist die Chance am größten, dass da zeitnah etwas passiert. Denn letztlich ist das ja keine große Änderung und die implementierte Einschränkung auf einen gleichnamigen Parameter so nirgends in einem Standard festgelegt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.094 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 13. Apr 2020, 19:52
Jein: ja, ein Supportticket ist ein direkterer Zugang zu EMBT, aber ob das dadurch schneller übernommen wird ist fraglich. Mit einem QP Report können wir jedenfalls den Status verfolgen und mittels Abstimmen anzeigen, dass wir das auch wollen.

Die geänderte Quellcode Datei kann man auch da anhängen. Andere können die dann dort auch direkt sehen, was beim Support Ticket nicht gegeben ist.

Beides hat seine Vor- und Nachteile und auch ich möcjte diese Änderung schnellstmöglich mit aufgenommen haben.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.055 Beiträge
 
Delphi 12 Athens
 
#6

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

  Alt 13. Apr 2020, 23:06
Ja, es ist sinnvoll beides zu machen. Ich habe das auch schon so gemacht, dass ich einen QP-Eintrag erstellt habe und dann im Supportticket darauf verwiesen habe.

Ich habe nun doch noch einen entsprechenden Eintrag in den Standard-Beschreibungen gefunden:
https://tools.ietf.org/html/rfc7578#page-5
Zitat:
To match widely deployed implementations, multiple files MUST be sent
by supplying each file in a separate part but all with the same
"name" parameter.
Es ist also in der Form auch in der Spezifikation des Medientyps multipart/form-data enthalten! Damit ist die Implementierung von Embarcadero schlicht nicht dem Standard entsprechend.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (13. Apr 2020 um 23:09 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.094 Beiträge
 
Delphi 12 Athens
 
#7

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

  Alt 14. Apr 2020, 21:26
Ein Grund mehr für den Fragesteller doch bitte so ein QP Ticket zu erstellen!
Am besten mit Verweis auf diesen Standard!
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz