wfpinedar / bks_api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

API de libros

Este proyecto esta hecho con graphql sobre el framework fastAPI

Instalación de dependencias

Ejecute el comando siguiente sobre el directorio raiz del proyecto para entorno linux

  1. crear un virtual environment
    python -m venv venv
  1. Activar el entorno
    source venv/bin/activate
  1. instalar las dependencias
    pip install -r requitements.txt

Ejecución

  1. ejecute el siguiente comando para levantar un servidor de uvicorn en su maquina.
    uvicorn main:app --reload

Probar aplicación

En el navegador ingresé a la siguiente dirección:

    http://localhost:8000/book

En esta dirección vera el entorno de ejecución de consultas de graphql en el cual puede realizar las siguientes operaciones:

  1. Crear un libro
mutation Ex {
  createBook(
		title: "El librote", 
		subtitle: "el libro mas grande",
		authors: "Ferchito, Fernando",
		categories: "ciencia ficción, Acción",
		editor: "me",
		description: "some description"
		image: "http://images.com.co/image1.png"
	)
  1. Listar todos los libros
query Ex {
	books
	{
		id,
		title,
		subtitle,
		authors,
		categories,
		editor,
		description,
		image
	}
}
  1. Traer un soo libro por su ID
query Ex {
	book(id: 1)
	{
		id,
		title,
		subtitle,
		authors,
		categories,
		editor,
		description,
		image
	}
}
  1. Actualizar la información de un libro
mutation Ex {
  updateBook(
		id: 1,
		title: "El librotote", 
		subtitle: "gran viaje",
		authors: "Fercho",
		categories: "ciencia ficción",
		editor: "me",
		description: "some description"
		image: "http://images.com.co/image1.png"
	)
}
  1. Eliminar un libro
mutation Ex {
  deleteBook(id: 1)
}
  1. Consultar un libro por un atributo especifico
query Ex {
  queryBook(field: "authors", value: "Ferchito"){
		id,
		title,
		subtitle,
		authors,
		categories,
		editor,
		description,
		image
	}
}
  1. Consultar libros por cualquiera de sus atributos
query Ex {
	findBook(value: "Harry") {
		title,
		subtitle,
		authors,
		categories,
		editor,
		description,
		image
	}
}

Existe un despliegue en linea en el siguiente enlace, pero solo permite las consultas de lectura

    https://bks_api-1-k1625606.deta.app/book

About


Languages

Language:Python 100.0%