"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Injee: la base de datos instantánea sin configuración para desarrolladores frontend.

Injee: la base de datos instantánea sin configuración para desarrolladores frontend.

Publicado el 2024-08-07
Navegar:971

Injee - The no configuration instant database for frontend developers.

Como desarrollador front-end, es complicado esperar a que se entreguen las API. ¿Qué pasa si hay una base de datos milagrosa que tiene la API incorporada? Bueno, ya no es una fantasía. Injee es una base de datos que viene con API CRUD listas para usar para desarrolladores front-end. Al leer esta página, aprenderá a utilizar Injee, a crear un registro de libros en Injee y a manipular y buscar datos.

Empezando

Instalar Java

Necesitas hacer esto solo una vez. Visite https://java.com para descargar Java para su máquina. Una vez instalado en su CMD o Terminal, escriba java --varsion y debería funcionar.

Descargar Injee

Puedes descargar injee haciendo clic aquí. O en tu terminal usa:

$ wget https://codeberg.org/injee/injee/releases/download/0.2.0/injee-0.2.0.jar

Utilice Injee

Navega hasta el directorio donde se descarga el archivo jar injee y ejecútalo usando:

$ java -jar injee-0.2.0.jar

Salud

Comprobemos si el servidor se está ejecutando. Usamos la API GET http://localhost:4125/ops/health.

En tu terminal intenta:

$ curl -X GET http://localhost:4125/ops/health

La salida debe ser

{
  "health": "ok"
}

crear libros

Entonces, creemos un repositorio de libros, mágicamente injee tiene la API POST http://localhost:4125/api/books para crear un libro. Si desea crear un repositorio de automóviles, injee tiene la API POST http://localhost:4125/api/cars API. Así que creemos un libro y guárdelo en injee:

$ curl -X POST http://localhost:4125/api/books \
       -H "Content-Type: application/json" \
       -d '{"title": "Treasure Island", "author": "Robert Louis Stevenson"}'

Producción

{
  "title": "Treasure Island",
  "author": "Robert Louis Stevenson",
  "id": "722e2b57-59cc-4254-85b5-562858264f75"
}

Entonces injee almacena el libro y proporciona un JSON que tiene todos los valores que le enviaste, así como un UUID, que se asigna a un ney llamado id.

Ahora creemos otro libro:

$ curl -X POST http://localhost:4125/api/books \
       -H "Content-Type: application/json" \
       -d '{"title": "Adventures of Huckleberry Finn", "author": "Mark Twain"}'

Producción

{
  "title": "Adventures of Huckleberry Finn",
  "author": "Mark Twain",
  "id": "689976e3-082e-4943-9525-a21b47cba325"
}

¡Y funciona!

Listar todos los libros

Ahora para enumerar todos los libros usamos GET http://localhost:4125/api/books:

$ curl -X GET http://localhost:4125/api/books

Producción

[
  {
    "title": "Treasure Island",
    "author": "Robert Louis Stevenson",
    "id": "722e2b57-59cc-4254-85b5-562858264f75"
  },
  {
    "title": "Adventures of Huckleberry Finn",
    "author": "Mark Twain",
    "id": "689976e3-082e-4943-9525-a21b47cba325"
  }
]

Obtenemos una buena variedad de libros que tenemos almacenados.

buscar un libro

Ahora busquemos solo un libro, para eso usamos la API GET http://localhost:4125/api/books/:id:

$ curl -X GET http://localhost:4125/api/books/689976e3-082e-4943-9525-a21b47cba325

Producción

{
  "title": "Adventures of Huckleberry Finn",
  "author": "Mark Twain",
  "id": "689976e3-082e-4943-9525-a21b47cba325"
}

Entonces, si antepongo id GET http://localhost:4125/api/books/ obtengo los detalles de un solo libro.

Actualizar un libro

Para actualizar un libro, utilice PUT junto con http://localhost:4125/api/books/:id, seguido de los parámetros del libro:

$ curl -X PUT http://localhost:4125/api/books/689976e3-082e-4943-9525-a21b47cba325 \
       -H "Content-Type: application/json" \
       -d '{"title": "Adventures of Tom Sawyer"}'

Producción

{
  "title": "Adventures of Tom Sawyer",
  "author": "Mark Twain",
  "id": "689976e3-082e-4943-9525-a21b47cba325"
}

Como puedes ver arriba, el título del libro ha cambiado de Las aventuras de Huckleberry Finn a Las aventuras de Tom Sawyer.

Ahora enumeremos todos los libros:

$ curl -X GET http://localhost:4125/api/books

Producción

[
  {
    "title": "Treasure Island",
    "author": "Robert Louis Stevenson",
    "id": "722e2b57-59cc-4254-85b5-562858264f75"
  },
  {
    "title": "Adventures of Tom Sawyer",
    "author": "Mark Twain",
    "id": "689976e3-082e-4943-9525-a21b47cba325"
  }
]

para confirmar nuestra actualización.

Eliminar un libro

Ahora eliminemos un libro. Para eso use DELETE junto con http://localhost:4125/api/books/:id:

$ curl -X DELETE http://localhost:4125/api/books/689976e3-082e-4943-9525-a21b47cba325

Producción

No habrá resultados, deberías obtener el estado 204, si lo estás probando en código y recibes el objeto de respuesta.

Ahora enumeremos todos los libros y confirmemos que Las aventuras de Tom Sawyer se han eliminado:

$ curl -X GET http://localhost:4125/api/books

Producción

[
  {
    "title": "Treasure Island",
    "author": "Robert Louis Stevenson",
    "id": "722e2b57-59cc-4254-85b5-562858264f75"
  }
]


Listado de tablas

Ahora creemos un usuario:

$ curl -X POST http://localhost:4125/api/users \
       -H "Content-Type: application/json" \
       -d '{"name": "Karthik"}'

Producción

{
  "name": "Karthik",
  "created_at": "2024-07-22T11:18:42Z",
  "updated_at": "2024-07-22T11:18:42Z",
  "id": "ad100ab0-7893-421d-9233-353cc8899aa9"
}

Entonces ahora debe haber dos tablas en nuestra base de datos, a saber, libros y usuarios, enuméremoslas usando la siguiente API:

$ curl -X GET http://localhost:4125/ops/tables

Producción

[
  "books",
  "users"
]

Búsqueda de registros

Agreguemos otro registro de usuario a la tabla de usuarios:

$ curl -X POST http://localhost:4125/api/users \
       -H "Content-Type: application/json" \
       -d '{"name": "Pari"}'

Busquemos ahora todos los usuarios y confirmemos nuestra incorporación

$ curl -X GET http://localhost:4125/api/users

[
  {
    "name": "Karthik",
    "created_at": "2024-07-22T11:18:42Z",
    "updated_at": "2024-07-22T11:18:42Z",
    "id": "ad100ab0-7893-421d-9233-353cc8899aa9"
  },
  {
    "name": "Pari",
    "created_at": "2024-07-22T11:23:27Z",
    "updated_at": "2024-07-22T11:23:27Z",
    "id": "1f06bb65-1f2d-4980-9cfc-cf3d38c9db7e"
  }
]

Ahora busquemos una cadena en usuarios:

$ curl -X GET http://localhost:4125/api/users?q=Pari

[
  {
    "name": "Pari",
    "created_at": "2024-07-22T11:23:27Z",
    "updated_at": "2024-07-22T11:23:27Z",
    "id": "1f06bb65-1f2d-4980-9cfc-cf3d38c9db7e"
  }
]

Copia de seguridad de Injee

Ahora hagamos una copia de seguridad de nuestra base de datos en un archivo llamado backup.json:

$ curl -X GET http://localhost:4125/ops/save?file=backup.json

Producción

{
  "message": "saved to file backup.json"
}

Detener a Injee

Finalmente, para detener injee, en la terminal donde se está ejecutando injee, presione Ctrl c en la terminal donde se está ejecutando injee para detenerlo.

Cargando copia de seguridad

Empecemos de nuevo con injee:

$ java -jar injee-0.2.0.jar

$ curl -X GET http://localhost:4125/ops/load?file=backup.json

Producción

{
  "message": "loaded from file backup.json"
}

Así que ya tienes tu base de datos original funcionando nuevamente. Felicitaciones.

Mantenerse al día

Una de las mejores maneras de mantenerse actualizado con Injee es seguir su página aquí https://injee.codeberg.page/, o seguir su RSS aquí https://codeberg.org/injee.rss

Declaración de liberación Este artículo se reproduce en: https://dev.to/mindaslab/injee-the-no-configuration-instant-database-for-frontend-developers-dli?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3