HATEOAS prinsipi haqqında danış.
sobes.tech Süni İntellekt
AI-dan cavab
HATEOAS (Hypermedia tətbiqin vəziyyətinin mühərriki kimi hipermedia) REST memarlığının məhdudiyyətidir və müştərinin REST xidməti ilə yalnız server tərəfindən cavablarda təqdim olunan hipermedia vasitəsilə qarşılıqlı əlaqədə olmasını tələb edir.
Bütün resursların və əməliyyatların URI-lərini əvvəlcədən bilmədən, müştəri bu məlumatları resursların nümayişlərində yerləşdirilmiş linklər və formalar şəklində alır.
Əsas aspektlər:
- Öz-özünü açıqlayan mesajlar: Müştəriyə göndərilən hər bir mesaj, məlumatların yanında əlaqəli resurslara və mövcud əməliyyatlara linklər ehtiva edir.
- URI-ləri əvvəlcədən bilməyə ehtiyac yoxdur: Müştəri API-də naviqasiya etmək və əməliyyatları yerinə yetirmək üçün hipermedia izləyir. Yalnız başlanğıc nöqtəsini bilir.
- Evolyusiya üçün təkmilləşdirmə: Server, uyğun hipermedia təmin etməyə davam etdiyi müddətdə, resursların URI-lərini dəyişə bilər.
- Müştəri-server əlaqəsinin azaldılması: Müştəri serverin daxili strukturundan daha az asılıdır.
HATEOAS ilə resursun nümayiş nümunəsi:
{
"orderId": "123",
"status": "Pending",
"items": [
{
"itemId": "A45",
"quantity": 2
}
],
"_links": {
"self": {
"href": "/orders/123"
},
"cancel": {
"href": "/orders/123/cancel",
"method": "POST" // Əməliyyatın növünü göstərir
},
"customer": {
"href": "/customers/C99"
}
}
}
Burada, _links öz resursu, sifarişi ləğv etmək və əlaqəli müştəri üçün URI-ləri ehtiva edir. Müştəri, bu nümayişi aldıqda, bu əməliyyatları necə yerinə yetirəcəyini bilir və onların URI-ləri "kodlaşdırılmış" deyil.
HATEOAS, REST-in əsas prinsipidir, lakin onun tam və ardıcıl tətbiqi praktikada çətin ola bilər.