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

Uso de las API REST de Apilayer de Delphi

apilayer00

Como puede haber visto en línea, Idera (empresa matriz de Embarcadero) adquirió  recientemente  apilayer, una empresa que ofrece una serie de microservicios de API REST, que van desde la geolocalización de direcciones IP hasta la verificación de números de teléfono y correo electrónico, desde información financiera hasta seguimiento meteorológico y de vuelos. Puede encontrar una lista de los productos de la empresa en  https://apilayer.com/ . Cada producto tiene su propio sitio web, donde generalmente puede iniciar sesión para obtener una cuenta con un número limitado de llamadas REST gratuitas.

apilayer00-1445673

En esta publicación de blog, no quiero discutir los servicios disponibles, pero me enfoco en cómo llamarlos desde RAD Studio. Usaré solo dos servicios, la API de países REST abierta y gratuita y uno de sus servicios premium de geolocalización.

Uso de la API de países REST

Mi punto de partida para explorar los servicios de apilayer es un servicio simple y totalmente gratuito, disponible junto con la documentación completa en  https://github.com/apilayer/restcountries . Para hacer un experimento inicial, usé el depurador REST para consultar el servicio, usando el nombre del punto final y, opcionalmente, pasando un parámetro, como puede ver a continuación (con el valor del parámetro “unido”):

apilayer01

Una vez que los datos se vean correctos en el depurador REST, puede usar el botón Copiar componentes para hacer una instantánea de la configuración del componente de la biblioteca cliente REST requerido para construir una aplicación. Ahora, cree una aplicación Delphi o C ++ en RAD Studio, ya sea VCL o FMX, y pegue los componentes en un módulo de datos, o un formulario si es vago. En este caso he usado Delphi y VCL… y era vago.

Dejé caer un panel con una edición y un botón y DBGrid (más un componente DataSource), los conecté y ejecuté RESTRequest en tiempo de diseño para obtener una vista previa de los datos:

apilayer02

El código para filtrar es muy simple:

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

El único otro cambio que tuve que hacer fue cambiar la propiedad TypesMode del componente RESTResponseDataSetAdapter1 a JSONOnly, ya que algunos de los análisis de datos intentaban por error convertir un texto relacionado con la zona horaria en una fecha, lo que resultó en una excepción.

Geocodificación inversa con la API Position Stack

Luego intenté usar el nivel gratuito de una API paga,  https://positionstack.com/ . Este servicio ofrece geocodificación directa e inversa, servicios de mapeo y más. Aquí, por ejemplo, he realizado una codificación geográfica “directa” simple, proporcionando una dirección y leyendo la latitud, la longitud y otra información local en el depurador REST. Para obtener el resultado tabular tuve que configurar la raíz JSON usando el  elemento de datos  :

apilayer03

En este caso, debe registrarse para obtener una clave de desarrollador e ingresarla como un parámetro adicional para la solicitud. (Es posible que desee considerar codificar esa clave en lugar de tenerla como una cadena simple en la aplicación final).

Ahora, de manera similar a lo que hice anteriormente, podemos copiar los componentes en una aplicación RAD Studio y tener una aplicación FMX de codificación geográfica lista para usar, esta vez basada en Live Bindings. Además, esta aplicación puede mostrar datos en tiempo de diseño, en este caso la latitud y longitud de mi ciudad (más otra ciudad con el mismo nombre en EE. UU.):

apilayer04

Conclusión

Aprovechar las API de microservicio para el desarrollo de aplicaciones, tanto de escritorio como móviles, realmente puede acelerar la creación y la implementación de funciones innovadoras, y tenerlas en una infraestructura escalable al mismo tiempo. Espero poder aprovechar más de los  servicios de apilayer  y le animo a que eche un vistazo a lo que pueden ofrecer para sus proyectos actuales o futuros.


What's New for RAD Studio 11

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

IN THE ARTICLES