Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Lösungsansatz REST Client gesucht (https://www.delphipraxis.net/183956-loesungsansatz-rest-client-gesucht.html)

Dragon27 16. Feb 2015 10:06

Lösungsansatz REST Client gesucht
 
Hallo zusammen,

ich bin gerade am Erstellen einer Client Anwendung für einen REST Service. Der Service an sich ist sehr umfangreich. Nun würde ich auch gerne den Client ideal aufbauen.

Mein bisheriger Ansatz:

TRESTService: Stellt eine art Threadpool dar. Von dieser Klasse aus werden die TRESTConnections verwaltet.

TRESTConnection: Ist ein Thread mit Indy HTTP Client. Dieser frägt den REST Server direkt ab. Eine Callback Funktion kann zugewiesen werden, um die JSON Daten zu bekommen.

Was mir fehlt:

Vernünftiger Ansatz wie die JSON-Daten verarbeitet bzw. in der GUI angezeigt geändert werden können. Meine Idee ist mit SuperObject zu arbeiten, aber hier muss man dann wirklich jedes Feld in die GUI parsen und nachher wieder zurück zum RESTServer übertragen. Vielleicht gibt es einen eleganteren Weg?

Danke für Eure Meinungen!

mjustin 16. Feb 2015 10:12

AW: Lösungsansatz REST Client gesucht
 
Zwei Free / Open Source Bibliotheken für Delphi helfen, den Anteil selbst geschriebenen Codes für einen REST Client zu verkleinern:

delphi-oop, diese Bibliothek verwendet Attribute auf den Klassen die dann automatisch aus der JSON Struktur gefüllt werden:
Delphi-Quellcode:
TODataNorthwindClient = class(TSvRESTClient)
  public
    [GET] [Path('/Customers')] [Consumes(MEDIA_TYPE.JSON)]
    function GetCustomers(): TCustomers; virtual;
  end;
delphi-rest-client-api arbeitet ähnlich:
Delphi-Quellcode:
var
  vPerson : TPerson;
begin
  vPerson := RestClient.Resource('http://localhost:8080/java-rest-server/rest/person/1')
                     .Accept(RestUtils.MediaType_Json)
                     .Get<TPerson>();
https://mikejustin.wordpress.com/201...es-for-delphi/

p.s. für das Mapping auf ein TDataSet gibt es in der Delphi REST Client Library die Klasse RESTResponseDataSetAdapter.

http://docwiki.embarcadero.com/RADSt...Client_Library

Der schöne Günther 16. Feb 2015 10:18

AW: Lösungsansatz REST Client gesucht
 
Ich habe mit REST und Delphi/c++ Builder noch nicht viel gemacht, aber:
  1. Warum SuperObject was die mitgelieferten Mechanismen nicht können?
  2. Was ist TRESTService? Machst du das ernsthaft von Hand? Warum nicht die seit XE5 beiliegenden REST-Komponenten?

Ich weiß nicht, was für Daten du wie visualisieren willst. Aber wenn wenn du wirklich nur "Werte" hast welche der Benutzer auf seiner GUI anpassen und zurücksenden können soll- Warum nicht eine Baumansicht? Wäre doch dann allgemeingültig für alles was du empfängst.

vagtler 16. Feb 2015 10:58

AW: Lösungsansatz REST Client gesucht
 
Zitat:

Zitat von Dragon27 (Beitrag 1290021)
[...] Dieser frägt den REST Server direkt ab. [...]

Was ist "abfrägen"?

Dragon27 16. Feb 2015 11:58

AW: Lösungsansatz REST Client gesucht
 
Zitat:

Zitat von vagtler (Beitrag 1290037)
Zitat:

Zitat von Dragon27 (Beitrag 1290021)
[...] Dieser frägt den REST Server direkt ab. [...]

Was ist "abfrägen"?


http://www.duden.de/rechtschreibung/fragen
Mehr muss ich glaube ich nicht schreiben ;)

Bezüglich der anderen Antworten.... Danke! Schaue mir dir Vorschläge an und melde mich nochmals ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 Uhr.

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