Rest (Restful)

Nedir ?

Rayiha tarafından 20 Aralık'ta yayınlandı, 2023

Rest (Restful) Nedir ?

restnedir

REST (representational state transfer) istemci-sunucu arasında hızlı ve kolay iletişim kurulmasını sağlayan servis yapısı ve veri transfer yöntemdir. Restful API, verilere erişmek ve verileri kullanmak için HTTP istekleri kullanan bir uygulama programı arabirimi (API) için mimari bir stildir.

Minimum içerikle veri alıp gönderdiği için de daha hızlıdır ve diğer alternatiflere göre daha basit bir yapıya sahiptir. REST standartlarına uygun yazılan web servislerine ise Restful servisler denir.

Rest, programlama dilinden bağımsız olarak web servis oluşturmak için kullanılan bir yapıdır.

Rest, HTTP protokolüne ait http yöntemlerini ve HTTP durum kodlarını kullanarak gelen isteklere XML, JSON, CSV vb. olarak cevap verir.

Peki API Tam Olarak Nedir ?

rest2

Appication programming interface - Uygulama programlama arayüzü anlamına gelen API terimi, farklı uygulamalar arasında veri iletişimini ve paylaşımını sağlayan bir bilgi işlem arayüzüdür. Tüm deneyimi sorunsuz hale getirerek birden fazla yazılımın bir bütün olarak birlikte çalışmasını sağlamak için yaygın olarak kullanılır.

Rest ayrıca tarayıcılar tarafından kullanılan bir internet dili olarakda düşünülebilir. Restful API, bir dizi küçük modül oluşturmak için bir işlemi parçalar. Her modül, işlemin t3emel bir bölümünü ele alır. Bu modülerlik, geliştiricilere çok fazla esneklik sağlar, ancak geliştiricilerin REST API'lerini sıfırdan tasarlamaları zor olabilir. Restful API, mevcut HTTP metedolojilerini kullanır. Örneğin;

- GET : Bir kaynağı almak için;

- PUT : Bir nesne, dosya veya blok olabilen bir kaynağın durumunu değiştirmek veya güncellemek için;

- POST : Bu kaynağı oluşturmak için;

- DELETE : Silmek için kullanılır.

Bu işlemleri Rest kullanarak sağlamak ister isek aşağıdaki gibi bir süreç izlememiz gerekiyor.

Bu örnekte kaynağımız müşteri oluyor.

1. Müsteri kaynağına erişim sağlayan bir URL (/services/customers)

2. Müşteri kaynağı üzerinde işlem yapmamızı sağlayan metotların tanımlanması.

3. Sisteme yeni müşteri girme -> HTTP POST {yeni müşteri verisi}

4. Sistemden müşteri silme -> HTTP DELETE {müşteri tanımlayıcısı}

5. Sistemde var olan bir müşteriyi güncelleme -> HTTP PUT {müşteri tanımlayıcısı, güncellenmiş müşteri verisi}

6. Sistemde var olan bir müşteriyi görüntüleme -> HTTP GET {müşteri tanımlayıcısı}