في هذه المقالة ، ستستمر في استكشاف REST API والتعرف على HATEOAS.
عند عرض صفحة ويب ، يمكنك عرض البيانات الموجودة على الصفحة وتنفيذ الإجراءات معها.
ماذا عن REST API؟ عادةً ، عند طلب مورد REST ، يمكنك الحصول على معلومات المورد مرة أخرى. ماذا عن إرسال العمليات التي يمكنك القيام بها مع المورد في الاستجابة؟

سوف تتعلم:
- ما هي الهيتواس؟
- لماذا تحتاج إلى استخدام HATEOAS؟
- متى يجب استخدام HATEOAS؟
REST API
هذه هي المقالة الخامسة في سلسلة من المقالات حول REST API:
ماذا يعني HATEOAS؟
يعني مصطلح
HATEOAS عبارة "Hypermedia
A s The Engine
O f
a pplication
S tate" (Hypermedia كمحرك لحالة التطبيق). لفهم هذا بشكل أعمق ، نحتاج أولاً إلى فهم معنى الوسائط التشعبية. ألق نظرة على صفحة الويب التالية:

عندما يقوم المتصفح بتحميل صفحة ، يمكنك بالتأكيد رؤية كل المحتوى الذي تعرضه هذه الصفحة. والأكثر إثارة للاهتمام ، أن الصفحة تسمح لك أيضًا بتنفيذ العديد من الإجراءات باستخدام هذه البيانات ، على سبيل المثال:
- الضغط على الأزرار (أخضر "استنساخ" أو "تنزيل" (تنزيل)
- النقر على علامات التبويب (على سبيل المثال ، لعرض "المشكلات")
- وغير ذلك الكثير
الآن دعونا نرى كيف تتصرف واجهات برمجة التطبيقات (REST) الخاصة بنا:
إذا نظرت إلى طلب GET نموذجي إلى خادم RESTful مثل هذا:
طلب الحصول على المضيف المحلي : 8080 / يتلقى
المستخدمون مجموعة بيانات من ثلاثة مستخدمين في هذه الحالة. عن طريق إرسال طلب باستخدام
GET localhost : 8080 / users / 1 ، ستتلقى فقط معلومات عن المستخدم الأول. كقاعدة عامة ، عندما نقوم بتنفيذ طلب REST ، نحصل على البيانات فقط ، وليس أي إجراءات معهم. هذا هو المكان الذي تملأ فيه HATEOAS الفجوة. لا يسمح لك طلب HATEOAS بإرسال البيانات فحسب ، بل يشير أيضًا إلى الإجراءات ذات الصلة:

كان هذا المثال بتنسيق JSON. سيبدو تنسيق XML لمثال آخر بالشكل التالي:

عندما ترسل هذا الطلب للحصول على معلومات الحساب ، تحصل على كليهما:
- رقم الحساب وبيانات الرصيد
- الروابط التي توفر إجراءات للإيداع / السحب / النقل / الإغلاق
باستخدام HATEOAS ، يعطيني طلب مورد REST كلاً من البيانات والإجراءات المتعلقة بالبيانات.
لماذا نحتاج إلى HATEOAS؟
السبب الأكثر أهمية ل HATEOAS هو اقتران فضفاض. إذا احتاج مستهلك خدمة REST إلى تشفير جميع عناوين URL الخاصة بالمورد ، فهذا يرتبط ارتباطًا وثيقًا بتنفيذ خدمتك. بدلاً من ذلك ، إذا قمت بإرجاع عناوين URL التي يمكن استخدامها في الإجراءات ، فسيتم ربطها بشكل فضفاض. لا يوجد اعتماد صارم على هيكل URI ، كما هو موضح ويستخدم في الاستجابة. بعض المواضيع المهمة المتعلقة بـ HATEOAS:
HAL - لغة تطبيق النص التشعبي
عند تطوير خدمة RESTful ، يجب عليك تحديد كيفية إرجاع البيانات والروابط التي تطابق الطلب. HAL هو تنسيق يوفر طريقة بسيطة ومتسقة للارتباط التشعبي بين الموارد في واجهة برمجة تطبيقات REST. هنا مثال:

مع HAL ، لديك عدة فئات من المشاهدات:
- الروابط : يشار إليها على أنها مزيج
- الهدف - المحدد باعتباره URI
- العلاقة - الاسم
- الموارد المضمنة : الموارد الأخرى الموجودة في مورد REST هذا
- الحالة: بيانات الموارد الفعلية
إذا كنت تستخدم Spring Framework لتطوير خدمة REST ، فإن Spring HATEOAS هو آلية جيدة لخدمتك.
في هذه المشكلة ، يوجد
فيديو للمؤلف.
ملخص
في هذه المقالة ، نظرنا إلى معنى HATEOAS.
باستخدام HATEOAS ، لا تُرجع الردود على طلبات REST البيانات فحسب ، ولكن أيضًا الإجراءات التي يمكن تنفيذها على المورد.
هذا يساعد على جعل التطبيقات إلى جانب فضفاضة.
قراءة إضافية
REST + MongoDB + HATEOAS؟خدمات الراحة في فصل الربيعSpring HATEOAS: واجهات برمجة التطبيقات للوسائط التشعبية مع Spring (أضافها المترجم)