Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Projektplanung und -Management (https://www.delphipraxis.net/85-projektplanung-und-management/)
-   -   Einen REST-Server mit Delphi/CPP Builder erstellen? (https://www.delphipraxis.net/184570-einen-rest-server-mit-delphi-cpp-builder-erstellen.html)

Der schöne Günther 7. Apr 2015 09:36

Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Vorweg: Mein "Wissen" zu "REST" beschränkt sich auf "Über HTTP sendet ein Client einen Befehls-String wie GET oder PUT, gefolgt von einem JSON-Datenblock. Zurück bekommt er ebenfalls einen JSON-Datenblock".

Ich möchte einen Windows-Dienst erstellen der REST-Anforderungen entgegennimmt, darauf hin etwas ausführt und nur zu antworten braucht "Ging" oder "Ging nicht".

Ich sehe, mit XE7, nur Rest Client-Komponenten: Ich kann einen Server ansprechen und dessen Antwort ziemlich komfortabel auswerten. Ich möchte nun aber nicht Client sein, ich möchte der Server sein. Welche Optionen stehen mir offen?

Ich sehe unter Datei -> Neu nur die Möglichkeit eines DataSnap-Servers. Das schießt aber doch etwas über das Ziel hinaus, zumal der nur Deployment-Möglichkeiten wie irgendwelche Apache-Webserver-Module bietet.

Ist das doch der angedachte (oder einzige) Weg oder gibt es andere Möglichkeiten (ohne wieder etwas dazu kaufen zu müssen)?

mkinzler 7. Apr 2015 09:49

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Kostenlos ist dies z.B. mit mORMot möglich

http://synopse.info/fossil/wiki?name=SQLite3+Framework

Sir Rufo 7. Apr 2015 10:36

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Da ein REST-Server ist nichts anderes ist als ein HTTP-Server kann man den ganz simpel mit Delphi-Referenz durchsuchenTIdHTTPServer aufsetzen.

Persönlich nehme ich dafür ein Apache mit PHP und einem PHP-REST-Framework. Damit bin ich dann flexibel, worauf dieser Server laufen kann (Windows, OSX, Linux, ...).

Mavarik 7. Apr 2015 11:09

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1296435)
Ich sehe unter Datei -> Neu nur die Möglichkeit eines DataSnap-Servers. Das schießt aber doch etwas über das Ziel hinaus, zumal der nur Deployment-Möglichkeiten wie irgendwelche Apache-Webserver-Module bietet.

War nicht Rest erst ab der Architekt-Version?

mkinzler 7. Apr 2015 11:14

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Der Client müsste auch bei der Pro dabei sein, aber Server (DataSnap) erst in der großen Version.

Mavarik 7. Apr 2015 11:18

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von mkinzler (Beitrag 1296458)
Der Client müsste auch bei der Pro dabei sein, aber Server (DataSnap) erst in der großen Version.

nöö (jedenfalls bei mir nicht) Nur SOAP ist mit dabei...

Aber ein Http Server macht mit ein Paar Zeilen das "richtige"

mkinzler 7. Apr 2015 11:46

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

nöö (jedenfalls bei mir nicht) Nur SOAP ist mit dabei...
Bei mir schon

Mavarik 7. Apr 2015 11:50

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von mkinzler (Beitrag 1296461)
Zitat:

nöö (jedenfalls bei mir nicht) Nur SOAP ist mit dabei...
Bei mir schon

Wer lesen kann ist klar im Vorteil. CLIENT <> SERVER... Mein Fehler... :stupid:

Der schöne Günther 7. Apr 2015 19:41

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von mkinzler (Beitrag 1296438)
mit mORMot möglich

Mormot- Hundert mal von gehört, noch nie benutzt oder genauer angeschaut. Hoffentlich komme ich da erst einmal drum herum... :oops:

Zitat:

Zitat von Sir Rufo (Beitrag 1296448)
ganz simpel mit Delphi-Referenz durchsuchenTIdHTTPServer aufsetzen.

Da ich mich damit nicht auskenne, hatte ich mich getraut einfach über HTTP loszulegen und den Rest selbst zu machen- Gibt es eine Empfehlung worauf man alles achten muss? Bestimmt müssen, damit es so unheimlich "Restful" ist, die wildesten Header gesetzt werden...

Alternativ könnte ich mich auch auf meinen Hintern setzen und selbst danach suchen...

Sir Rufo 7. Apr 2015 20:37

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Nö, da ist nix mit wilden Headern (nur wenn du willst)

Du hast doch den REST-Debugger (über Tools). Klatsch dir die HTTP-Server Komponente auf die Form, verdrahte dir die beiden Events wo du die Requests verarbeitest und schau dort nach, was da ankommt, wenn du mit dem REST-Debugger dort etwas hinschickst.

Es ist nur soviel, wie du da auch hinschickst ;)

jaenicke 8. Apr 2015 06:26

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Die Enterprise Edition kann DataSnap Server erstellen und damit geht das sehr einfach. Das hat auch den Vorteil, dass man keine 3rd-Party Komponenten benötigt.

Von der Geschwindigkeit her sah es in Tests bei vielen Anfragen oder Clients allerdings schlechter aus als manche anderen Frameworks. Wir setzen DataSnap mittlerweile allerdings intensiv und ohne Probleme auch mit hunderten von Clients ein inkl. hin- und herschicken von großen Streams usw., da sehe ich hinsichtlich REST erst einmal weniger Probleme.

Der schöne Günther 8. Apr 2015 06:30

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Geschwindigkeit und Enterprise-Versionen sind kein Problem. Allerdings sehe ich keine Möglichkeit, das einfach als Wi dows-Dienst zu realisieren: Apache, IIS, Standalone-exe. Das passt doch alles nicht (oder?)

Lemmy 8. Apr 2015 06:47

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Guten Morgen,

TidHttpServer in einen Dienst packen und gut ist - wo ist das Problem? Warum soll das nicht als Dienst funktionieren? Das ist im Grunde auch nix anderes als eine "standalone-exe" die in einem besonderen Kontext ausgeführt wird....

Oder Du nimmst z.B. die hier: https://secure.habariwebcomponents.de/demo/index.html

jaenicke 8. Apr 2015 06:54

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1296585)
Geschwindigkeit und Enterprise-Versionen sind kein Problem. Allerdings sehe ich keine Möglichkeit, das einfach als Wi dows-Dienst zu realisieren: Apache, IIS, Standalone-exe. Das passt doch alles nicht (oder?)

Es gibt keine Vorlage dafür, aber ich habe das bei uns so gebaut, dass die VCL-Anwendung, die es ja als Vorlage gibt, sich selbst auch als Dienst installieren kann. Diese unterstützt so bei uns schlicht beides, was nebenbei auch das Debugging deutlich vereinfacht. ;-)
Das muss man manuell ändern, aber dafür musst du nur einen einfachen Dienst erstellen und dessen Code übernehmen.

Die DataSnap Module sind alle als Datenmodule usw. gekapselt, so dass die Ansteuerung als VCL-Anwendung oder als Dienst identisch ist.

Bei Bedarf kann ich zu dem Thema auch noch mehr zeigen, wenn du möchtest, aber das schaffe ich vermutlich erst am Wochenende.

Der schöne Günther 8. Apr 2015 13:33

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Lemmy (Beitrag 1296588)
TidHttpServer in einen Dienst packen und gut ist

Nach Rufos Vorschlag einfach mal angefangen und ja- da steckt wohl wirklich nichts dahinter. HTTP GET und gut ist. Das werde ich wohl so machen. :thumb:

Zitat:

Zitat von jaenicke (Beitrag 1296589)
Bei Bedarf kann ich zu dem Thema auch noch mehr zeigen

Speziell zu Service/Normale Anwendung oder DataSnap als Service? Zu ersterem hatte ich auf StackOverflow einmal etwas gefunden, aber noch nicht gelesen. Besonders zweites würde mich wirklich stark interessieren, aber zu ersterem sage ich auch nicht nein ;-)
Und ich denke so einige hier auch nicht. :thumb:

jaenicke 8. Apr 2015 15:49

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1296712)
Zu ersterem hatte ich auf StackOverflow einmal etwas gefunden, aber noch nicht gelesen.

Das ist dort allerdings extrem kompliziert gemacht. :shock:
Und vor allem nicht schön finde ich.

Ich schaue mal, dass ich dazu komme, meine Lösung zu posten.

Captnemo 1. Mai 2015 17:46

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von jaenicke (Beitrag 1296589)
Es gibt keine Vorlage dafür, aber ich habe das bei uns so gebaut, dass die VCL-Anwendung, die es ja als Vorlage gibt, sich selbst auch als Dienst installieren kann. Diese unterstützt so bei uns schlicht beides, was nebenbei auch das Debugging deutlich vereinfacht. ;-)

Kannst du dazu mal ein Beispiel/Demo Posten? Das würde mich brennend interessieren.:-D

Sir Rufo 7. Mai 2015 13:54

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Captnemo (Beitrag 1299947)
Zitat:

Zitat von jaenicke (Beitrag 1296589)
Es gibt keine Vorlage dafür, aber ich habe das bei uns so gebaut, dass die VCL-Anwendung, die es ja als Vorlage gibt, sich selbst auch als Dienst installieren kann. Diese unterstützt so bei uns schlicht beides, was nebenbei auch das Debugging deutlich vereinfacht. ;-)

Kannst du dazu mal ein Beispiel/Demo Posten? Das würde mich brennend interessieren.:-D

Klar, ist im Anhang ;)

Die Magie ist in der DPR zu finden
Delphi-Quellcode:
program ServiceWithGui;

uses
  Vcl.Forms,
  Vcl.SvcMgr,
  System.SysUtils,
  Service.Main in 'Service.Main.pas' {MainService: TService},
  Form.Main in 'Form.Main.pas' {MainForm},
  Data.Main in 'Data.Main.pas' {MainData: TDataModule};

{$R *.RES}

function IsService: Boolean;
begin
  Result := not( FindCmdLineSwitch( 'g', [ '-' ], true ) or FindCmdLineSwitch( '-gui', [ '-' ], false ) );
end;

begin
  if IsService then
  begin

    if not Vcl.SvcMgr.Application.DelayInitialize or Vcl.SvcMgr.Application.Installing then
      Vcl.SvcMgr.Application.Initialize;
    Vcl.SvcMgr.Application.CreateForm( TMainService, MainService );
    Vcl.SvcMgr.Application.CreateForm( TMainData, MainData );
    Vcl.SvcMgr.Application.Run;

  end
  else
  begin
    Vcl.Forms.Application.Initialize( );
    Vcl.Forms.Application.CreateForm( TMainForm, MainForm );
    Vcl.Forms.Application.CreateForm( TMainData, MainData );
    Vcl.Forms.Application.Run( );
  end;

end.
Die EXE mit dem Parameter -g oder --gui gestartet, zeigt eben die VCL-Anwendung, ansonsten reagiert die Anwendung wie ein Service.

jaenicke 7. Mai 2015 18:55

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Ich poste gleich das Beispiel. Die Kommandozeilenparameter sind dann doch sehr umständlich... ich bin einfach nicht dazu gekommen bisher.

Sir Rufo 7. Mai 2015 19:05

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von jaenicke (Beitrag 1300687)
Ich poste gleich das Beispiel. Die Kommandozeilenparameter sind dann doch sehr umständlich... ich bin einfach nicht dazu gekommen bisher.

Wenn das schon für dich umständlich ist, was ist denn dann, wenn es wirklich mal haarig wird? :mrgreen:

Ja, aber dein Beispiel ist durchaus gern gesehen ... meins habe ich auch nur gepostet, weil von dir noch nichts kam :-P

jaenicke 7. Mai 2015 20:14

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
So, hier kommt nun endlich das Beispiel.

Kernstück ist das hier:
Delphi-Quellcode:
var
  VclApplication: TApplication;
  ServiceApplication: TServiceApplication;
begin
  if WebRequestHandler <> nil then
    WebRequestHandler.WebModuleClass := TLogServerDataModule;
  if FindCmdLineSwitch('config') then // normal application with config dialog only
  begin
    VclApplication := Vcl.Forms.Application;
    VclApplication.Initialize;
    VclApplication.MainFormOnTaskbar := True;
    VclApplication.CreateForm(TfrmLogServerConfigDlg, frmLogServerConfigDlg);
    VclApplication.Run;
  end
  else if not AnsiSameText(GetParentProcessName, 'services.exe') and not FindCmdLineSwitch('install')
     and not FindCmdLineSwitch('uninstall') then // normal application
  begin
    VclApplication := Vcl.Forms.Application;
    VclApplication.Initialize;
    VclApplication.MainFormOnTaskbar := True;
    VclApplication.CreateForm(TfrmLogServerTestMain, frmLogServerTestMain);
    VclApplication.CreateForm(TLogServerDataModule, LogServerDataModule);
    LogServerDataModule.RunningAsService := False;
    VclApplication.Run;
  end
  else // service
  begin
    ServiceApplication := Vcl.SvcMgr.Application;
    if not ServiceApplication.DelayInitialize or ServiceApplication.Installing then
      ServiceApplication.Initialize;
    ServiceApplication.CreateForm(TDemoServer, DemoServer);
    ServiceApplication.CreateForm(TLogServerDataModule, LogServerDataModule);
    LogServerDataModule.RunningAsService := True;
    ServiceApplication.Run;
  end;
Sprich der Trick an der Sache ist, dass ich nachschaue, ob der Dienstmanager mein Programm gestartet hat oder der Dienst gerade installiert oder deinstalliert werden soll. Zusätzlich habe ich als Demo mal noch einen Konfigurationsswitch eingebaut.

Captnemo 8. Mai 2015 18:16

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Danke Jaenicke und Sir Rufo.
Man lernt immer wieder was dazu. Ich hatte mir das ganze um einiges komplizierter vorgestellt, aber wenn ich die Beispiele lese ist es ja doch ganz simpel.

Kommt mir auch sehr gelegen, da ich eh grad an einem Service rumstricke, und mir schon Gedanken über ein Konfigurationsprogramm gemacht habe. Das kann ich mir jetzt sparen und gleich mit in die Exe packen, was nicht nur eleganter aussieht, sondern auch die Notwendigkeit beinhaltet, dass der Dienst zur Übernahme der Konfiguration eh neu gestartet werden müsste.

jaenicke 8. Mai 2015 18:48

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Vor allem kann man den Dienst so auch steuern, wenn man ihn als Exe normal aufruft. (In der Demo steckt noch mehr als hier als Quelltext gepostet ist, falls das jemand sonst nicht ausprobiert. ;-)) Außerdem habe ich in einem unserer echten Dienste im Büro auch gleich Eingabefelder für Name und Anzeigename des Dienstes für dessen Installation und Statusprüfung eingebaut, was man sonst ja nicht so einfach einstellen kann.

jaenicke 2. Dez 2015 21:58

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe per PN die Nachricht bekommen, dass in dem Download noch Units fehlen. Hier der korrigierte Download, in dem diese Units nicht benötigt werden.

sh17 3. Dez 2015 10:22

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
ahh. genial, danke @jaenicke

sh17 10. Dez 2015 15:52

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Angenommen es geht was bei Initialisierung des Prozesses schief (Datenbank nicht erreichbar, Ports belegt, etc), wie geht Ihr da vor? Last Ihr den Prozess am Leben und protokolliert das ganze oder Prozess beenden mit Application.Terminate und vor dem .Run rausspringen?

jaenicke 14. Dez 2015 04:14

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Das wichtigste ist natürlich das zu loggen. Bei einem Dienst auch im System-Eventlog.

Dann würde ich bei einem Dienst per Datasnap auch eine Statuswebseite anbieten. Dort kann dann der Fehler im Detail stehen und auf der Startseite der verlinkte Hinweis, dass der Dienst nicht initialisiert werden konnte.

Bei einer normalen Anwendung sehe ich im Normalfall keinen Grund diese normal zu starten, aber wenn diese wie im Beispiel den Dienst steuert, würde ich diese trotzdem starten, ggf. direkt mit einem speziellen Fenster dafür.

Der schöne Günther 26. Jan 2016 19:30

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hinweis am Rande: Am 2. bzw. 4. Februar macht Embarcadero einen Skill Sprint zu "Developing REST Servers from scratch"

https://www.embarcadero.com/landing-pages/skill-sprints

TiGü 31. Aug 2016 15:14

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1296712)
Zitat:

Zitat von Lemmy (Beitrag 1296588)
TidHttpServer in einen Dienst packen und gut ist

Nach Rufos Vorschlag einfach mal angefangen und ja- da steckt wohl wirklich nichts dahinter. HTTP GET und gut ist. Das werde ich wohl so machen. :thumb:

Wie hast du das Problem letztendlich gelöst?
Ich stehe vor einer ähnlichen Aufgabe und bin irgendwie auf dem gedanklichen Holzweg, wenn es darum geht die eigene Applikation auf REST-Befehle responsiv zu gestalten.

Der schöne Günther 31. Aug 2016 15:49

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Ganz billig. Wenn du ein, zwei Tage warten kannst such ich das nochmal heraus. Im Endeffekt war es einfach nur auf den HTTP-GET-String geschaut, eine dazu passende Behandler-Methode aufgerufen und die über HTTP übergebenen Params (sowie die Rückgaben) waren halt Json-Objekte. Mehr habe ich nicht gebraucht.

Phoenix 31. Aug 2016 16:49

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1346352)
Ganz billig.

Seit wann ist REST 'Ganz billig'?

Du brauchst semantisch korrekten Support für GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, CONNECT und TRACE. Du brauchst korrektes Handling von Cache-Headern.
Du brauchst vor allem HATEOAS, und das ist definitiv nicht mehr 'billig', geschweige denn noch irgendwie Trivial.

Ein RMM Level 0 wäre billig, aber das ist dann kein REST. Dann reden wir maximal von einer 'HTTP-(GET oder POST) API'.

Der schöne Günther 31. Aug 2016 18:44

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Eben. 2/3 deiner Abkürzungen höre ich zum ersten mal. Deshalb war meine Lösung billig, sprich: Unvollständig. Für mein Szenario hat es gereicht.

Phoenix 31. Aug 2016 19:00

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1346371)
Für mein Szenario hat es gereicht.

Das ist ja auch vollkommen okay.

Nur ist es dann halt kein REST, sondern was anderes (eben meist eine HTTP-Api) ;-)

Ich finde es schon wichtig, dass man die Sachen einfach beim korrekten Namen nennt. Ich sag ja auch ned "Datenbank" wenn ich eine Speicherung in CSV-Files meine ;-)

mkinzler 1. Sep 2016 04:16

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Phoenix (Beitrag 1346373)
Ich sag ja auch ned "Datenbank" wenn ich eine Speicherung in CSV-Files meine ;-)

Du vielleicht nicht ...

Phoenix 1. Sep 2016 08:05

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von mkinzler (Beitrag 1346386)
Zitat:

Zitat von Phoenix (Beitrag 1346373)
Ich sag ja auch ned "Datenbank" wenn ich eine Speicherung in CSV-Files meine ;-)

Du vielleicht nicht ...

Das hab ich jetzt befürchtet :-D Gibt ja auch Leute die Zip-Files als Sourcecode-Versionierung bezeichnen :lol:

TiGü 1. Sep 2016 08:47

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1346352)
Ganz billig. Wenn du ein, zwei Tage warten kannst such ich das nochmal heraus. Im Endeffekt war es einfach nur auf den HTTP-GET-String geschaut, eine dazu passende Behandler-Methode aufgerufen und die über HTTP übergebenen Params (sowie die Rückgaben) waren halt Json-Objekte. Mehr habe ich nicht gebraucht.

Das wäre lieb. :kiss:
Ich bin zwar jetzt drei Schritte weiter, aber vielleicht kann ich trotzdem was mitnehmen.

Nachdem ich gestern Nachmittag verzweifelt und erfolglos versucht habe, an unseren bestehenden DataSnap-Server eine TDRESTWebDispatcher-Komponente zu knüppeln, habe ich diesen Thread gefunden.
Leider ging gar nix, es kam nichts an im OnCommandGet-Handler der TidHTTPServer-Instanz.
Heute morgen fahre ich den Rechner hoch und siehe da: sowohl per Browser als auch per RESTDebugger kann ich den Indy-Server ansprechen und der OnCommandGet-Handler wird aufgerufen...

Manchmal muss man einfach nur neustarten! :shock:

Mavarik 1. Sep 2016 09:15

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1346371)
Eben. 2/3 deiner Abkürzungen höre ich zum ersten mal. Deshalb war meine Lösung billig, sprich: Unvollständig. Für mein Szenario hat es gereicht.

Das ist wie mit dem Freund, der einen auf eine Boots-Tour einlädt...

Plötzlich gibt es auch kein "Rechts" und "Links" mehr... Sondern ab diesen Zeitpunkt ist es "cool" es Backbord oder Steuerbord zu nennen... Genau wie vorne und hinten...:stupid:

Ich bin ganz bei Dir... Mein Szenario ist auch so... OK, mein FRS (Firemonkey-REST-Server) macht REST und nicht nur eine Http-Get API, aber selbst wenn... Dem Kunden ist das egal... Für Ihn muss es nur laufen...


Mavarik

Daniel 1. Sep 2016 09:35

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Zitat:

Zitat von Phoenix (Beitrag 1346363)
Du brauchst semantisch korrekten Support für GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, CONNECT und TRACE. Du brauchst korrektes Handling von Cache-Headern.

Nö. Sorry. Aber nö.
Natürlich musst Du die fachlichen Anforderungen erfüllen, aber wenn Dein Datenmodell beispielsweise kein Löschen vorsieht, sollte die Zeit, die Du in die Implementation von "DELETE" steckst, überschaubar bleiben. REST schreibt ausdrücklich nicht vor, dass alle Methoden zu implementieren sind. Ein REST-Service, der nur HTTP-GET implementiert, trägt den Namen REST trotz allem völlig zu Recht.

Jumpy 1. Sep 2016 10:01

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Wenn ich den Wikipedia-Artikel richtig verstanden habe könnte man soger sagen, dass eine schnöde statische Webseite REST erfüllt.

Wobei es ja scheinbar gerade die Kunst ist bei nicht statischen, sondern dynamischen Inhalten REST zu bleiben.

Der schöne Günther 11. Nov 2020 20:26

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?
 
Der Vollständigkeit halber wollte ich einmal

Das "delphimvcframework" vom guten Daniele Teti erwähnen:
Ich habe nun einen Anwendungsfall wo ich etwas "mehr" brauche. Statt mir den Kram mit einem TIdHttpServer selbst zu basteln habe ich mir nun mal das delphimvcframework angeschaut. Nach den ersten paar Minuten im Einsatz macht das einen fantastischen Eindruck.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz