"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > Injee - قاعدة البيانات الفورية بدون تكوين لمطوري الواجهة الأمامية.

Injee - قاعدة البيانات الفورية بدون تكوين لمطوري الواجهة الأمامية.

تم النشر بتاريخ 2024-08-07
تصفح:293

Injee - The no configuration instant database for frontend developers.

كمطور للواجهة الأمامية، من الصعب انتظار تسليم واجهات برمجة التطبيقات (API). ماذا لو كانت هناك قاعدة بيانات معجزة تحتوي على واجهة برمجة التطبيقات (API) المضمنة. حسنًا، لم يعد الأمر خياليًا بعد الآن. Injee هي قاعدة بيانات تأتي مع واجهات برمجة تطبيقات CRUD جاهزة للاستخدام لمطوري الواجهة الأمامية. من خلال قراءة هذه الصفحة، سوف تتعلم كيفية استخدام Injee، وإنشاء سجل للكتب في injee، وسوف تتعلم كيفية التعامل مع البيانات والبحث فيها.

ابدء

قم بتثبيت جافا

عليك القيام بذلك مرة واحدة فقط. تفضل بزيارة https://java.com لتنزيل Java لجهازك. بمجرد تثبيته على CMD، أو نوع الوحدة الطرفية java --varsion ويجب أن يعمل.

تحميل إنجي

يمكنك تحميل injee بالضغط هنا. أو في استخدامك الطرفي:

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

استخدم إنجي

انتقل إلى الدليل حيث تم تنزيل ملف injee jar، وقم بتشغيله باستخدام:

$ java -jar injee-0.2.0.jar

صحة

دعونا نتحقق مما إذا كان الخادم قيد التشغيل. نحن نستخدم API GET http://localhost:4125/ops/health.

في المحطة الطرفية الخاصة بك، حاول:

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

يجب أن يكون الإخراج

{
  "health": "ok"
}

إنشاء الكتب

لذلك دعونا ننشئ مستودعًا للكتب، بطريقة سحرية، يمتلك injee API POST http://localhost:4125/api/books لإنشاء كتاب. إذا كنت ترغب في إنشاء مستودع للسيارات، فإن injee لديه API POST http://localhost:4125/api/cars API. لذلك دعونا ننشئ كتابًا ونخزنه في injee:

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

انتاج

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

لذلك يقوم injee بتخزين الكتاب، ويعطيك JSON الذي يحتوي على جميع القيم التي أرسلتها إلى injee، بالإضافة إلى UUID، الذي تم تعيينه لمعرف ney المسمى.

الآن لننشئ كتابًا آخر:

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

انتاج

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

ويعمل!

قائمة جميع الكتب

الآن لسرد جميع الكتب التي نستخدمها، احصل على http://localhost:4125/api/books:

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

انتاج

[
  {
    "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"
  }
]

نحصل على مجموعة رائعة من الكتب التي قمنا بتخزينها.

إحضار كتاب

الآن دعنا نحضر كتابًا واحدًا فقط، لذلك نستخدم API GET http://localhost:4125/api/books/:id:

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

انتاج

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

لذلك إذا قمت بإضافة المعرف مسبقًا للحصول على http://localhost:4125/api/books/ أحصل على تفاصيل كتاب واحد.

تحديث كتاب

لتحديث كتاب، استخدم PUT مع http://localhost:4125/api/books/:id، متبوعًا بمعلمات الكتاب:

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

انتاج

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

لذلك كما ترون أعلاه، تم تغيير عنوان الكتاب من مغامرات هاكلبري فين إلى مغامرات توم سوير.

الآن دعونا ندرج جميع الكتب:

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

انتاج

[
  {
    "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"
  }
]

لتأكيد التحديث لدينا.

حذف كتاب

الآن دعونا نحذف كتابًا. لهذا استخدم الحذف مع http://localhost:4125/api/books/:id:

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

انتاج

لن يكون هناك أي إخراج، يجب أن تحصل على الحالة 204، إذا كنت تحاول ذلك في التعليمات البرمجية وتتلقى كائن الاستجابة.

الآن دعونا ندرج جميع الكتب، ونؤكد أنه قد تم حذف مغامرات توم سوير:

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

انتاج

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


جداول القائمة

الآن لنقم بإنشاء مستخدم:

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

انتاج

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

لذلك يجب أن يكون هناك الآن جدولان في قاعدة بياناتنا وهما الكتب والمستخدمين، فلندرجهما باستخدام واجهة برمجة التطبيقات التالية:

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

انتاج

[
  "books",
  "users"
]

البحث في السجلات

لنضيف سجل مستخدم آخر إلى جدول المستخدمين:

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

لنقوم الآن بجلب كافة المستخدمين وتأكيد الإضافة

$ 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"
  }
]

الآن لنبحث عن سلسلة في المستخدمين:

$ 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"
  }
]

النسخ الاحتياطي إنجي

الآن دعونا نقوم بعمل نسخة احتياطية لقاعدة البيانات الخاصة بنا في ملف يسمى Backup.json:

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

انتاج

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

وقف إنجي

أخيرًا، لإيقاف injee، في المحطة حيث يتم تشغيل injee، اضغط على Ctrl c في المحطة حيث يعمل injee لإيقافه.

جارٍ تحميل النسخة الاحتياطية

لنبدأ إنجي مرة أخرى:

$ java -jar injee-0.2.0.jar

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

انتاج

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

لقد استعدت قاعدة البيانات الأصلية الخاصة بك وتشغيلها. تهاني.

مواكبة

إحدى أفضل الطرق للبقاء على اطلاع دائم بـ Injee هي متابعة صفحتها هنا https://injee.codeberg.page/، أو متابعة RSS الخاص بها هنا https://codeberg.org/injee.rss

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/mindaslab/injee-the-no-configuration-instant-database-for-frontend-developers-dli?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3