AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Lösungsansatz REST Client gesucht

Lösungsansatz REST Client gesucht

Ein Thema von Dragon27 · begonnen am 16. Feb 2015 · letzter Beitrag vom 16. Feb 2015
Antwort Antwort
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Lösungsansatz REST Client gesucht

  Alt 16. Feb 2015, 11:06
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!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
2.810 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Lösungsansatz REST Client gesucht

  Alt 16. Feb 2015, 11:12
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
Michael Justin

Geändert von mjustin (16. Feb 2015 um 11:23 Uhr) Grund: RESTResponseDataSetAdapter
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.716 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Lösungsansatz REST Client gesucht

  Alt 16. Feb 2015, 11:18
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.
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Lösungsansatz REST Client gesucht

  Alt 16. Feb 2015, 11:58
[...] Dieser frägt den REST Server direkt ab. [...]
Was ist "abfrägen"?
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#5

AW: Lösungsansatz REST Client gesucht

  Alt 16. Feb 2015, 12:58
[...] 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
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 05:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf