Vas a construir: Una página que muestra publicaciones de una API REST pública en una cuadrícula de tarjetas, con un estado vacío
Lee primero: Inicio rápidoConstruye una landing page
En este tutorial conectas una API REST, escribes una consulta que trae una lista de publicaciones y muestras cada publicación como una tarjeta en la página. El ejemplo usa JSONPlaceholder, una API de prueba gratuita que no necesita clave, así que puedes seguirlo con solo tener un sitio.
Conecta la API
Abre el espacio de trabajo Data
Abre la página en la que quieres trabajar y presiona Data en la parte inferior de la barra lateral izquierda. El espacio de trabajo Data muestra las variables, las consultas y las fórmulas de la página y las integraciones del sitio. Presiona Data otra vez, o su ícono de cerrar, para volver al lienzo.
Agrega una integración REST
Junto a Integrations, presiona + (Add integration) y elige REST API. Llámala
Placeholder API.En la tarjeta Connection, pon Base url en
https://jsonplaceholder.typicode.com. Deja Auth type ennone: esta API es pública.Créala y prueba la conexión
Presiona Create integration. Aparece una tarjeta Test connection: presiona Run test y espera a que diga Connected. La prueba usa los ajustes guardados, así que guarda otra vez antes de probar un cambio.
Escribe la consulta
Agrega una consulta
Junto a Queries, presiona + (Add query). Cámbiale el nombre a la consulta de
queryapostsen el campo de arriba. Su resultado ahora está disponible comoqueries.posts.data.Apúntala a la API
En la tarjeta Source, pon Integration en
Placeholder API. La Operation cambia a Request.Completa la solicitud
En la tarjeta Input, deja Method en
GETy pon Path en/posts?_limit=6. La ruta se agrega a la URL base, así que la consulta pide las primeras seis publicaciones.Elige cuándo se ejecuta
En When it runs, elige Static. La consulta se ejecuta al publicar y las publicaciones se escriben en el HTML, lo que es rápido y bueno para los buscadores. Elige Server cuando los datos deban estar actualizados en cada solicitud, o Client cuando dependan de lo que hace el visitante en el navegador.
Pruébala
En la tarjeta Result, presiona Run. La respuesta aparece como un árbol: un array de seis objetos con
userId,id,titleybody.
El espacio de trabajo Data muestra la consulta posts con static · Placeholder API, y su tarjeta Result muestra seis publicaciones.
Muestra las publicaciones en la página
Inserta una lista de colección
Vuelve al lienzo y selecciona el frame de la página o una sección. Presiona + en la pestaña Layers y elige Collection list. Es una cuadrícula de tres columnas con un hijo, Item, que se repite una vez por publicación.
Usa la consulta como fuente
Con la lista seleccionada, abre Collection list en el inspector. Pon Source en Expression si no lo está ya. Items se completa con
queries.posts.data; si no, presiona su botón de enlazar y escríbelo.Agrega texto al ítem
Presiona T y arrastra dentro de Item para agregar un texto para el título; luego agrega un segundo texto para el cuerpo. Cada repetición del ítem recibe las mismas capas.
Enlaza los textos
Selecciona el texto del título. En Typography, presiona el botón de enlazar junto al texto y escribe
item.title. Enlaza el segundo texto aitem.bodyde la misma forma. Ahora cada tarjeta muestra su propia publicación.Dale estilo a una tarjeta
Selecciona Item y dale padding, un relleno y un radio de borde. El estilo se aplica a todas las tarjetas, porque todas son repeticiones del mismo ítem.
El lienzo muestra seis tarjetas en una cuadrícula, cada una con un título y un cuerpo diferentes.
Maneja un resultado vacío
Escribe el estado vacío
Selecciona la lista de colección y pon Empty text en
Todavía no hay publicaciones.Este texto se muestra en lugar de las tarjetas cuando la lista no tiene ítems.Pruébalo
En el espacio de trabajo Data, cambia el Path de la consulta a
/posts?userId=999. Ningún usuario tiene ese id, así que la API devuelve un array vacío y el lienzo muestra tu texto de estado vacío. Vuelve a poner la ruta en/posts?_limit=6cuando termines.Mira la vista previa y publica
Presiona ⌘↵ para ver la página y luego presiona Publish. Una consulta estática se ejecuta durante la publicación, así que la página publicada tiene las publicaciones en su HTML.
Tu página muestra publicaciones de la API, enseña un mensaje cuando no hay ninguna y está en línea en staging.
Lo que aprendiste
- Una integración guarda la URL base, los encabezados y los secretos; las consultas la reutilizan.
- Una consulta elige una operación, completa su entrada y se ejecuta en modo estático, servidor o cliente.
- Una lista de colección con una fuente Expression repite su ítem por cada elemento del resultado de una consulta, y
item.*lee el elemento actual.
Lee las guías en las que se basa este tutorial: