Utilizar los componentes REST con Delphi

En esta ocasión veremos cómo hacer llamadas REST utilizando los componentes que nos proporciona Delphi 10.4.1

Desde el menú Tools, accedemos a la opción REST Debugger, y se abrirá un programa desarrollado por Embarcadero realizado para simplificar las consultas web y ver, entre otras cosas el header, body, los datos en formato tabular, cuando se hacen llamadas a una API. En cierto modo es parecido al funcionamiento del comando curl en Linux. 


 

 

En este caso voy a hacer una consulta a la API que nos proporciona la NASA para ver la foto del día.

https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2021-08-15

En el campo URL pondremos la URL anterior, y dado que la consulta devuelve el resultado en formato JSON, en el Content-type seleccionaremos application/json

Pulsamos el botón "Send Request" y si todo ha ido bien en la parte inferior de la ventana, etiquetada con el nombre "Response" veremos la respuesta del Servidor (Headers, Body y Tabular Data)


Pulsamos el botón  "Copy components", para copiar en el clipboard los componentes (RestClient, RestRequest y RestResponse)



A continuación tenemos que crear una nueva aplicación:

Empezamos como siempre desde File -New - MultiDevice Application y añadimos 2 componentes: un tButton y un tMemo

Ahora tenemos que pegar los componentes anteriores sobre la vista de formulario de nuestro programa pulsando Ctrl+V, y quedará como sigue:


Añadimos a la ventana del Form un TButton y un TMemo, que contendrá el archivo JSON devuelto por la API

Sobre el form, con el botón derecho del ratón, activamos el menú "Bind Visually..." para que se abra el "LiveBindings Designer"

y unimos con el ratón los campos JSONText y Text (del tMemo) como muestra la figura:


 

En el botón insertamos la siguiente línea de código:




PROCEDURE TForm1.Button1Click(Sender: TObject);
BEGIN
BEGIN
RESTRequest1.Execute;
END;
END;





Ejecutamos el programa y pulsamos el botón "Iniciar" del Form y nos mostrará la información que nos ha devuelto la llamada a la API



Si no quieren utilizar el LiveBindings Designer, tendrían que poner el siguiente código en el botón INICIAR.

PROCEDURE TForm1.Button1Click(Sender: TObject);
BEGIN
VAR
jValue: TJSONValue;
BEGIN
RESTRequest1.Execute;
jValue := RESTResponse1.JSONValue;
Memo1.Text := jValue.ToString;
END;
END;




------------


En los siguientes Post les indicaré como dar formato tabular al JSON para que se pueda visualizar desde un DataSet, desde un StringGrid o utilizando una tabla en memoria para hacer consultas.



 

No hay comentarios:

Publicar un comentario

Simulación del movimiento de los electrones en un campo electrico

Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...