كمطور للواجهة الأمامية، من الصعب انتظار تسليم واجهات برمجة التطبيقات (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
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3