¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Fundamentos de API 2: cambiar y borrar datos

Aquí está la lección completa para leer. Crea una cuenta gratuita para practicarla en un laboratorio en vivo.

Laboratorio de contenedores10 min de lectura11 comandos

Lo que vas a hacer

En Fundamentos de API leíste notas y añadiste otras. Una API web hace cuatro cosas con los datos: crear, leer, actualizar y borrar, y cada una es un tipo distinto de petición. Aquí haces actualizar y borrar: cambias una nota y borras otra. Además ves el código de estado con el que responde la API cada vez: un número que dice cómo ha ido.

Antes de empezar

Nota

Pulsa Iniciar el laboratorio en la barra de arriba de esta lección y espera a que diga que está en marcha. La primera vez tarda unos segundos, porque primero arranca la base de datos. Cada botón Ejecutar de abajo escribe su comando en el terminal de tu laboratorio, uno detrás de otro y en la misma sesión. Para verlos, o para escribir los tuyos, pulsa Abrir el terminal (pestaña nueva) en la barra.

1. Comprueba que hay notas que cambiar

Estos comandos crean la tabla notes si Fundamentos de API no la creó, meten dos notas y le dicen a la API que vuelva a leer la base de datos. Si hiciste la primera lección, la tabla ya existe: psql lo avisa con un NOTICE, sigue adelante y añade otras dos notas. No pasa nada. ?order=id lista las notas por su id, y -w "\n" termina la respuesta con un salto de línea, para que quede debajo del comando.

Comando
export PGPASSWORD=shop

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comando
psql -h db -U shop -c "create table if not exists notes (id serial primary key, body text not null)"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comando
psql -h db -U shop -c "insert into notes (body) values ('one'), ('two')"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comando
psql -h db -U shop -c "notify pgrst, 'reload schema'"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comando
curl -s -w "\n" "http://api:3000/notes?order=id"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

2. Cambia una nota

Una petición PATCH cambia una parte de una fila. ?id=eq.1 dice cuál: la fila cuyo id es igual a 1. La API responde 204, que significa "hecho, y no hay nada que devolver". Lee la tabla otra vez y verás que la nota ha cambiado.

Comando
curl -s -o /dev/null -w "%{http_code}\n" -X PATCH -H "Content-Type: application/json" -d '{"body":"changed"}' "http://api:3000/notes?id=eq.1"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comando
curl -s -w "\n" "http://api:3000/notes?id=eq.1"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

3. Borra una nota

Una petición DELETE borra las filas que coinciden, aquí la que tiene el id 2. Otra vez 204. Lee la tabla otra vez y ya no está.

Comando
curl -s -o /dev/null -w "%{http_code}\n" -X DELETE "http://api:3000/notes?id=eq.2"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comando
curl -s -w "\n" "http://api:3000/notes?order=id"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

4. Lee los códigos de estado

Cada respuesta empieza con un código de estado. 200 significa "aquí lo tienes", 201 "lo he creado", 204 "hecho" y 404 "no existe eso". Si pides una tabla que no existe, recibes un 404; si pides la que sí existe, recibes un 200.

Comando
curl -s -o /dev/null -w "%{http_code}\n" http://api:3000/notes

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Comando
curl -s -o /dev/null -w "%{http_code}\n" http://api:3000/nothing

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Para el profesorado

Consejo

Esta lección es un pequeño ejemplo de una lección practicada en un laboratorio: los pasos y los botones Ejecutar son la lección, y el laboratorio es la copia propia de cada alumno. Usa el mismo laboratorio de base de datos y API que Fundamentos de API. La base de datos guarda sus archivos en un volumen que la plataforma conserva, así que las notas del alumno siguen ahí la próxima vez. Puede copiar la lección en su propio módulo y cambiarla, o crear otra desde cero con el menú Laboratorio del creador de lecciones.

Más en este laboratorio

Sobre este laboratorio y su código: Laboratorio de PostgreSQL y PostgREST: una base de datos y una API REST en el navegador

¿Enseñas a una clase? Asigna estas lecciones a tus estudiantes con calificación y un laboratorio para cada uno.