Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Nouvelles

Utilisation des API REST Apilayer de Delphi

apilayer00

Comme vous l’avez peut-être vu en ligne, Idera (société mère d’Embarcadero) a récemment  acquis  apilayer, une société proposant un certain nombre de micro-services API REST, allant de la géolocalisation d’adresses IP à la vérification des e-mails et des numéros de téléphone, des informations financières à la météo et au suivi des vols. Vous pouvez trouver une liste des produits de la société sur  https://apilayer.com/ . Chaque produit a son propre site Web, sur lequel vous pouvez généralement vous connecter pour un compte avec un nombre limité d’appels REST gratuits.

apilayer00-1445673

Dans ce billet de blog, je ne veux pas discuter des services disponibles, mais me concentrer sur la façon de les appeler depuis RAD Studio. Je n’utiliserai que deux services, l’API REST gratuite et ouverte des pays et l’un de leurs services de géolocalisation premium.

Utilisation de l’API des pays REST

Mon point de départ pour explorer les services apilayer est un service simple et totalement gratuit, disponible avec une documentation complète sur  https://github.com/apilayer/restcountries . Pour faire une première expérience, j’ai utilisé le débogueur REST pour interroger le service, en utilisant le nom de point de terminaison et en passant éventuellement un paramètre, comme vous pouvez le voir ci-dessous (avec la valeur de paramètre «united»):

apilayer01

Une fois que les données semblent correctes dans le débogueur REST, vous pouvez simplement utiliser le bouton Copier les composants pour créer un instantané de la configuration du composant de la bibliothèque cliente REST requis pour créer une application. Maintenant, créez une application Delphi ou C ++ dans RAD Studio, soit VCL ou FMX, et collez les composants dans un module de données – ou un formulaire si vous êtes paresseux. Dans ce cas, j’ai utilisé Delphi et VCL… et j’étais paresseux.

J’ai déposé un panneau avec une modification et un bouton et DBGrid (plus un composant DataSource), les ai câblés et exécuté la RESTRequest au moment de la conception pour obtenir un aperçu des données:

apilayer02

Le code de filtrage est très simple:

procedure TForm43.Button1Click (Sender: TObject);
begin
if Edit1.Text = ”then
RESTRequest1.Resource: = ‘name’
else
RESTRequest1.Resource: = ‘name /’ + Edit1.Text;
RESTRequest1.Execute;
fin;

Le seul autre changement que j’ai dû faire était de changer la propriété TypesMode du composant RESTResponseDataSetAdapter1 en JSONOnly, car une partie de l’analyse des données essayait par erreur de convertir un texte lié au fuseau horaire en une date, ce qui a entraîné une exception.

Inverser le géocodage avec l’API Position Stack

Ensuite, j’ai tenté d’utiliser le niveau gratuit d’une API payante,  https://positionstack.com/ . Ce service offre des services de géocodage direct et inverse, de cartographie, etc. Ici, par exemple, j’ai fait un simple géocodage «en avant», en fournissant une adresse et en lisant la latitude, la longitude et d’autres informations locales dans le débogueur REST. Pour obtenir le résultat tabulaire, j’ai dû configurer la racine JSON à l’aide de l’  élément de données  :

apilayer03

Dans ce cas, vous devez vous inscrire pour une clé de développeur et la saisir en tant que paramètre supplémentaire pour la demande. (Vous pouvez envisager d’encoder cette clé plutôt que de l’avoir sous forme de chaîne simple dans l’application finale.)

Maintenant, de la même manière que ce que j’ai fait ci-dessus, nous pouvons copier les composants dans une application RAD Studio et avoir une application FMX de géocodage prête à l’emploi, cette fois basée sur les liaisons en direct. Cette application peut également afficher des données au moment de la conception, dans ce cas, la latitude et la longitude de ma ville (plus une autre ville du même nom aux États-Unis):

apilayer04

Conclusion

Tirer parti des API de micro-service pour le développement d’applications, à la fois de bureau et mobiles, peut vraiment accélérer la création et le déploiement de fonctionnalités innovantes, et les avoir sur une infrastructure évolutive en même temps. Je suis impatient de tirer parti de plus de  services apilayer  et de vous encourager à jeter un coup d’œil à ce qu’ils peuvent offrir pour vos projets actuels ou futurs.


DelphiCon 2021

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES