Django Rest Framework – Talepler ve Yanıtlar


Bu makale ile birlikte, rest framework temel taşlarını tanıyıp konuya daha iyi hakim olmaya çalışağız.

Request ve Response Nesneleri

Request objesi HttpRequest nesnesini genişleten, esnek ayrıştırma seçeneği sunar. Request.POST‘a  benzer Request.data özelliği sunmaktadır. Tabi, bu request.data api çalışmalarında uygun olması nedeniyle request.post benzer mantıkla api ihtiyaçlarına göre oluşturulmuştur.

Karşılaştıralım ;

  • request.POST : Yanlızca form üzerinden post verilerini işler
  • request.data : POST,PUT ve PATCH gibi keyfi verileri işler.

Oluşan dataları, geri göndermek içinde ;

  • Return Response (data) # İstemcinin istediği gibi içerik türüne dönüştürür.

Artık başlayabiliriz. Fakat başlamadan önce, bir önceki makalede Serialization kullanımından bahsettik. Onun devamı bu makaledir. Onu okumadan buraya giriş yapmayın çünkü ;

  • Snippet Modeli oluşturduk.
  • Snippet modelini admin panele ekledik.
  • Ana dizinde serialization.py yaratip, serialization kontrolü oluşturduk.

Eğer önceki makaleyi okuduysan, devam edelebiliriz.

Görünümleri Oluşturmak

İlk olarak, Modelimizdeki verileri Api’miz tarafında listeleteceğiz. Aynı zamanda POST metodu ile ekleme imkanı sunacağız. Views.py dosyamıza giriş yapip, kodları yazmaya başlıyalım.

İkinci olarak, id göre snippet listeleyip  PUT-DELETE metodlarını göreceğiz.

Yukarıdaki views.py kodların devamıdır;

Görünüm tarafını bitirmiş olduk.

Rotaları Oluşturmak

Yazdığımız görünümleri, rotalarımızda belirtelim.

Api’yi Test Edelim.

http://127.0.0.1:8000/snippets/ adresine giriş yapalım.

Giriş yapmadan önce, snippets modeline bir kaç veri ekleyin.

  • Verilerin Listelendiği bölüm.

  • POST istediği ile, veri ekleyebildiğimiz bölümdür.

http://127.0.0.1:8000/snippets/3  adresine giriş yapalım.

  • 3. id sahip bilgiyi çekti.

  • PUT isteği ile, yeni snippets verisi ekleme işlevini yapar.

Anlatacaklarım bukadar, diğer makalede görüşmek üzere.

Django Rest Framework – Talepler ve Yanıtlar

Giriş Yap

Hoşgeldin, sefa getirdin :)

Hesabınız yok mu?
Kayıt Ol

Şifre Sıfırla

Şifreni bidaha unutma lütfen :)

Geri git :
Giriş Yap

Kayıt Ol

Hoşgeldin :)

Geri git :
Giriş Yap