Sobes.tech
Middle+

HATEOAS ilkesini açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

HATEOAS (Uygulama Durumunun Hipermedya ile Motoru) REST mimarisinin bir kısıtlamasıdır ve istemcinin, sunucu tarafından yanıtlar içinde sağlanan hipermedya aracılığıyla REST servisiyle tamamen etkileşimde bulunmasını öngörür.

Tüm kaynakların ve eylemlerin URI'lerini önceden bilmeksizin, istemci bu bilgiyi kaynakların temsillerine gömülü bağlantılar ve formlar şeklinde alır.

Anahtar noktalar:

  • Kendini Açıklayan Mesajlar: İstemciye gönderilen her mesaj, verilerin yanı sıra ilişkili kaynaklara ve kullanılabilir eylemlere bağlantılar içerir.
  • URI'leri önceden bilmeye gerek yok: İstemci, API içinde gezinmek ve eylemleri gerçekleştirmek için hipermedyaları takip eder. Sadece başlangıç noktasını bilir.
  • Evrimsel Gelişim: Sunucu, uygun hipermedyaları sağlamaya devam ettiği sürece, kaynakların URI'lerini değiştirebilir ve istemcinin mantığını değiştirmeden yapabilir.
  • İstemci-sunucu bağımlılığını azaltma: İstemci, sunucunun iç yapısına daha az bağımlıdır.

HATEOAS ile bir kaynağın temsil örneği:

{
  "orderId": "123",
  "status": "Pending",
  "items": [
    {
      "itemId": "A45",
      "quantity": 2
    }
  ],
  "_links": {
    "self": {
      "href": "/orders/123"
    },
    "cancel": {
      "href": "/orders/123/cancel",
      "method": "POST" // Eylem türünü belirtir
    },
    "customer": {
      "href": "/customers/C99"
    }
  }
}

Burada, _links kendi kaynağı, siparişi iptal etme ve ilişkili müşteri için URI'leri içerir. Bu temsili alan istemci, bu eylemleri nasıl gerçekleştireceğini bilir ve URI'leri koduna "sıkıştırılmış" değildir.

HATEOAS, REST'in temel ilkelerinden biri olmasına rağmen, tam ve tutarlı uygulaması pratikte zor olabilir.