Einzelnen Beitrag anzeigen

Benutzerbild von DP News-Robot
DP News-Robot

Registriert seit: 4. Jun 2010
15.671 Beiträge
 
#1

Utilizar los componentes REST con Delphi

  Alt 25. Aug 2021, 12:20
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?...ate=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.




Suscribirse :



Weiterlesen...
  Mit Zitat antworten Zitat