REST API Durum Kodları

REST API Durum Kodları


REST API Durum Kodları

 Hepinize merhaba arkadaşlar bu sıralar bir projemde kullanıcı işlemleri vs için REST API kullanmam gerekiyor ve REST API kullanarak backend tarafında bir uygulama geliştirirken uymamız gereken bazı kurallar bulunuyor. 

Özellikle sunucu tarafındaki olaylardan client tarafını haberdar edebilmek için bu kurallara uymak oldukça önemlidir. Hele hele yazdığınız kodların herkes tarafından anlaşılır olmasını istiyorsanız dünya çapında belirlenmiş standartlara uymak kaçınılmazdır diyebilirim, hadi gelin REST API ile bir uygulama geliştirirken sunucu tarafında dönen değerlerin ("status") hangi değerlerde dönmesi hangi anlama geliyormuş bunlara bakalım.

Metotlar ve Aldıkları Durum Kodları

EylemDurum Kodu
GET200, 401, 403, 404
POST200, 201, 401, 403, 404 , 422
PUT200, 401, 403, 404 , 422
PATCH200, 401, 403, 404 , 422
DELETE200, 401, 403, 404 , 422

Durum Kodları ve Anlamları

Durum kodlarına genel olarak bir bakalım.
  • 1xx - Bilgilendirici İstek.
  • 2xx - İstek başarılı.
  • 3xx - İstek yönlendirildi. Nadiren kullanılır.
  • 4xx - İstemci Hataları (genellikle 401, 404 gibi kodlar).
  • 5xx - Sunucu sorunu (genellikle 500).
Hangi sayı ile başlayan durum kodu neyi temsil ediyor genel olarak baktığımıza göre artık biraz daha kod bazlı inceleyelim.

KodKod Açıklaması
200OK!, Her şey sorunsuzca gerçekleşti.
201Genellikle post ile veri tabanına veri eklendiği durumlarda verinin eklendiği durumlarda kullanılır ve veri eklemenin başarılı olduğunu söyler.
Eklenen veri dönütün "body" sinde geri döndürülür.
202Clientin isteğinin kabul edildiğini söyler. (Genellikle kullanılmaz.)
203Önbelleğe alınan değerler için kullanılır.
400Hatalı istek olduğunu bildirir.
401Hatalı bir api anahtarı olduğunu bildirir.
402Ödeme gerektiğini, ücretli bir servis olduğunu bildirir.
403Erişim yetkisinin bulunmadığını bildirir.
404Kaynak bulunamadığı durumlarda döndürülür, aranan objenin sunucuda bulunamadığını bildirir.
405İzin verilmeyen durumlar olduğunu bildirir.
422İşlenemeyen varlık. Eksik alanlar ya da geçersiz XML veya JSON olduğunu bildirir.
429Çok fazla istekte bulunulduğunu yani çok fazla deneme yapıldığını bildirir.
500Sunucudan kaynaklı hata olduğunu bildirir.