Middle+
Birlikte Arayüzü (Uniform Interface) kuralından bahsedin.
sobes.tech yapay zeka
AI'dan gelen yanıt
Uniform Arayüz Kuralı, REST’in altı mimari kısıtlamadan biridir. Sistemlerin, istemci ve sunucu arasındaki etkileşimde tek, standartlaştırılmış bir yaklaşım kullanmasını öngörür. Bu, mimariyi basitleştirir ve ayırır, görünürlüğü artırır ve istemci ile sunucu bağımsız gelişimini kolaylaştırır.
Uniform Arayüz Bileşenleri:
- Kaynakların Tanımlanması: Kaynaklar benzersiz şekilde tanımlanmalıdır (genellikle URI aracılığıyla). Bu, standartlaştırılmış etkileşimin temelidir. Örnek:
/kullanicilar/123,/urunler/ABC. - Kaynakların Temsilleriyle Manipülasyon: İstemci, kaynağın bir temsilini alır (örneğin JSON veya XML formatında), bu temsil, kaynağı değiştirmek veya silmek için yeterli bilgiyi içerir. Sunucudaki kaynak durumu, değiştirilmiş temsil gönderilerek değiştirilebilir.
- Kendini Açıklayan Mesajlar: Her mesaj (istek veya yanıt), sunucu durumu veya diğer istekler bağlamı olmadan tamamen anlaşılabilir olacak kadar bilgi içermelidir. Bu, meta verileri içerir: içerik tipi, önbellekleme bilgileri, diğer kaynaklara bağlantılar vb.
HTTP/1.1 200 OK Content-Type: application/json Cache-Control: max-age=3600 { "name": "Örnek Kullanıcı", "links": [ { "rel": "self", "href": "/kullanicilar/123" } ] } - Uygulama Durumunun Motoru olarak Hipermedya (HATEOAS): Sunucu tarafından sağlanan hipermedya bağlantılarına dayanarak, istemcinin kaynaklar arasında dinamik geçiş yapmasını sağlar. İstemci, giriş noktası dışında tüm URI’leri önceden bilmek zorunda değildir. Sunucu, istemciyi mevcut eylemler ve kaynaklar hakkında yönlendirir.
{ "orderId": "A123", "status": "işleniyor", "links": [ { "rel": "iptal", "href": "/siparisler/A123/iptal", "method": "POST" }, { "rel": "self", "href": "/siparisler/A123" } ] }
Sıkı sıkıya kodlanmış yollar yerine, istemci, rel: "iptal" bağlantısının varlığı ve içeriği aracılığıyla sipariş iptal etme olasılığını keşfeder.
Uniform arayüz, RESTful sistemlerin ölçeklenebilirliği ve evrimi için kritik öneme sahiptir, çünkü bileşenler arasındaki bağımlılığı azaltır.