DEVF Kata JavaScript Avanzado Proyecto "Api en Express"

Contenido

  1. Descripción
  2. Previa
  3. Metodos
  4. Get
  5. Post
  6. Put
  7. Delete
  8. Previews

Descripcion

Creamos una API REST usando Node.js, el framework web Express y el sistema gestor de bases de datos MySQL, la cual cuenta con dos "Entidades" o mejor conocidas como tablas (books y videos) para poder realizar peticiones con los métodos HTTP: GET, POST, PUT y DELETE. Realizamos la prueba de funcionamiento utilizando un cliente REST en Postman ademas de un despliegue en 'Heroku'.

Tecnologias utilizadas:

Previa

Para instalar los paquetes de Node.js necesarios (indicados en package.json):

  • npm i

Crea y asigna tus variables de entorno dentro del archivo .env (en la raíz del proyecto):

  • HOST=host

  • DATABASE=database

  • USER=user

  • PASSWORD=password


Metodos

Demostracion de cada una de las peticiones para probar en Postman (localhost y heroku) o en el navegador como localhost y en dashboard de heroku.

GET

Para obtener todos los libros disponibles usamos:

Para obtener todos los videos disponibles usamos:

Si desea encontrar la información un libro en especifico solo agregamos el ID en la petición:

Si desea encontrar la información un video en especifico solo agregamos el ID en la petición:

POST

Podemos agregar un nuevo libro con la petición de POST, solo asegurese de llenar todos los datos solicitados correctamente:

  1. title: titulo del libro.
  2. total_pages (numero entero): número de paginas del libro.
  3. author: Autor del libro.
  4. nationality: nacionalidad del autor.
  5. language: lenguaje en que fue escrito el libro.
  6. cover_url: enlace de la portada del libro.
  7. editorial: nombre de la editorial que publico el libro.

Es necesario que la informacion este en formato JSON, ejemplo:

{  
        "title": "ejemplo libro 2",
        "total_pages": 1000,
        "author": "ejemplo autor 2",
        "nationality": "mexicana",
        "language": "español",
        "cover_url": "www.libro2.com.mx/book.pdf",
        "editorial": "ejemplo editorial2"
    
}

Podemos agregar un nuevo video con la petición de POST, solo asegurese de llenar todos los datos solicitados correctamente:

  1. id ( numero entero unico e irrepetible): Identificador unico para el video dentro de la Base de Datos.
  2. video_name: nombre del video.
  3. url: enlace o ubicación del video.
  4. duration (string con formato “00.00.00” ): Tiempo que dura la reproduccion del video.
  5. views_number(decimal): Total de vistas que tiene el video.
  6. video_type: Clasificacion del video segun su contenido.

Es necesario que la informacion este en formato JSON, ejemplo:

{  
    "id": 4,
    "video_name": "sample3",
    "url": "sample url3",
    "duration": "15:30",
    "views_number": 15,
    "video_type": "mp4"
    
}

PUT

Si desea editar la información de algun libro ya publicado utilice la petición PUT. Debera incluir el ID unico del libro y la información a editar. Ejemplo formato JSON para editar informacion:

{
    "total_pages": 1000,
}

Si desea editar la información de algun video ya publicado utilice la petición PUT. Debera incluir el ID unico del video y la información a editar. Ejemplo formato JSON para editar informacion:

{
    "views_number": 15,
}

DEL

Para eliminar por completo un LIBRO basta con utilizar la petición PUT, especificando el ID del libro a eliminar.

Para eliminar por completo un video basta con utilizar la petición PUT, especificando el ID del video a eliminar.

Previews

  • Peticion Get dashbord Heroku (Navegador)
  • Peticiones importadas Postman Importacion