Wie Sie online gesehen haben, Idera (Embarcadero Muttergesellschaft) vor kurzem erworbener apilayer, ein Unternehmen , eine Reihe von REST API Mikro-Dienstleistungen anbieten, die von IP – Adresse Geolocation – E – Mail und prüft die Telefonnummer, von Finanzinformationen zu Wetter und Flugverfolgung. Eine Liste der Unternehmensprodukte finden Sie unter https://apilayer.com/ . Jedes Produkt verfügt über eine eigene Website, auf der Sie sich in der Regel für ein Konto mit einer begrenzten Anzahl kostenloser REST-Anrufe anmelden können.
In diesem Blog-Beitrag möchte ich nicht auf die verfügbaren Dienste eingehen, sondern mich darauf konzentrieren, wie sie von RAD Studio aus aufgerufen werden. Ich werde nur zwei Dienste verwenden, die kostenlose und offene REST-Länder-API und einen ihrer Premium-Geolokalisierungsdienste.
Verwenden der API für REST-Länder
Mein Ausgangspunkt für die Erkundung der Apilayer-Dienste ist ein einfacher und völlig kostenloser Dienst, der zusammen mit der vollständigen Dokumentation unter https://github.com/apilayer/restcountries verfügbar ist . Um ein erstes Experiment durchzuführen, habe ich den REST-Debugger verwendet, um den Service abzufragen, den Namensendpunkt zu verwenden und optional einen Parameter zu übergeben, wie Sie unten sehen können (mit dem Parameterwert „united“):
Sobald die Daten im REST-Debugger korrekt angezeigt werden, können Sie einfach über die Schaltfläche Komponenten kopieren einen Schnappschuss der Konfiguration für die REST-Clientbibliothekskomponente erstellen, die zum Erstellen einer Anwendung erforderlich ist. Erstellen Sie jetzt eine Delphi- oder C ++ – Anwendung in RAD Studio, entweder VCL oder FMX, und fügen Sie die Komponenten in ein Datenmodul ein – oder in ein Formular, wenn Sie faul sind. In diesem Fall habe ich Delphi und VCL verwendet… und ich war faul.
Ich habe ein Panel mit einer Bearbeitung und einer Schaltfläche und DBGrid (plus einer DataSource-Komponente) gelöscht, sie verkabelt und die RESTRequest zur Entwurfszeit ausgeführt, um eine Vorschau der Daten zu erhalten:
Der Code zum Filtern ist sehr einfach:
Prozedur TForm43.Button1Click (Absender: TObject);
beginne
wenn Edit1.Text = ”dann
RESTRequest1.Resource: = ’name‘
sonst
RESTRequest1.Resource: = ’name /‘ + Edit1.Text;
RESTRequest1.Execute;
Ende;
Die einzige andere Änderung, die ich vornehmen musste, war die Änderung der TypesMode-Eigenschaft der RESTResponseDataSetAdapter1-Komponente in JSONOnly, da bei einigen Datenanalysen fälschlicherweise versucht wurde, zeitzonenbezogenen Text in ein Datum zu konvertieren, was zu einer Ausnahme führte.
Reverse GeoCoding mit der Position Stack API
Als nächstes habe ich versucht, die kostenlose Version einer kostenpflichtigen API ( https://positionstack.com/) zu verwenden . Dieser Dienst bietet direkte und inverse Geokodierung, Kartierungsdienste und mehr. Hier habe ich zum Beispiel eine einfache „Vorwärts“ -Geocodierung durchgeführt, eine Adresse angegeben und den Breiten-, Längen- und anderen lokalen Informationen im REST-Debugger gelesen. Um das tabellarische Ergebnis zu erhalten, musste ich den JSON-Stamm mit dem Datenelement konfigurieren :
In diesem Fall müssen Sie sich für einen Entwicklerschlüssel anmelden und diesen als zusätzlichen Parameter für die Anforderung eingeben. (Möglicherweise möchten Sie diesen Schlüssel codieren, anstatt ihn in der endgültigen Anwendung als einfache Zeichenfolge zu verwenden.)
Ähnlich wie oben können wir jetzt die Komponenten in eine RAD Studio-Anwendung kopieren und eine geokodierte FMX-App verwenden, diesmal basierend auf Live-Bindungen. Diese App kann auch Daten zur Entwurfszeit anzeigen, in diesem Fall den Breiten- und Längengrad meiner Stadt (plus eine andere Stadt mit demselben Namen in den USA):
Fazit
Durch die Nutzung von Micro-Service-APIs für die Anwendungsentwicklung, sowohl auf dem Desktop als auch auf dem Handy, kann der Aufbau und die Bereitstellung innovativer Funktionen erheblich beschleunigt und gleichzeitig auf einer skalierbaren Infrastruktur bereitgestellt werden. Ich freue mich darauf, mehr von den Apilayer-Diensten zu nutzen und Sie zu ermutigen, einen Blick darauf zu werfen, was sie für Ihre aktuellen zukünftigen Projekte bieten können.