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.


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