Hızlı tanım: Web API'lerinin en yaygın tasarım deseni. URL'ler kaynak adlarını, HTTP fiilleri eylemleri belirtir.
Temel prensipler
REST bir protokol değil, bir mimari stilidir. Roy Fielding'in 2000'deki doktora tezinde tanımladı.
1. Kaynak odaklı: Her şey bir URL ile temsil edilir. /users/123, /orders/456.
2. HTTP fiilleri: Eylemler HTTP method'ları ile yapılır:
GET /users/123— kullanıcıyı okuPOST /users— yeni kullanıcı yaratPUT /users/123— kullanıcıyı güncelleDELETE /users/123— kullanıcıyı sil
3. Stateless: Her istek bağımsız. Sunucu önceki istekleri hatırlamak zorunda değil.
REST vs GraphQL
REST: Sabit endpoint'ler, sabit veri yapıları. Çağrı sayısı çok olabilir.
GraphQL: Tek endpoint, esnek sorgu. Müşteri tam istediği veriyi tanımlar.
Çoğu API hala REST kullanır — daha basit, daha öğretici. GraphQL karmaşık ilişkili veri çekme için tercih edilir.
Onremo'da REST
Onremo'nun API'si REST mimarisindedir. https://api.onremo.app/v1/systems gibi standart endpoint'ler.