API Tasarımında Arama Motoru Dostu URL Oluşturma

api-tasariminda-arama-motoru-dostu-url-olusturma (büyük resim için tıklayın)

Başlıktaki konuyu tam olarak kavrayabilmek için birkaç konu üzerinde kısaca durmamız gerekir.

API Nedir?

Uygulama geliştirme arayüzü anlamına gelen API, sahip olduğumuz servis veya verileri dış dünyaya açıp başka uygulamaların-platformların kullanımına sunmak için belli kurallar çerçevesinde tanımlamalar yaptığımız arayüzdür. Detaylı bilgiye medium/api adresinden erişilebilir.

htaccess

Apache başta olmak üzere çoğu ağ sunucusu tarafından kullanılan web alanı üzerinde ayar değişimleri yapılmasını sağlayan dosyadır. Detaylı bilgiye burhan/htaccess ile phpr/htaccess adresinden erişilebilir.

REST ve RESTful Nedir?

REST, istemci-sunucu arasındaki haberleşmeyi sağlayan (XML ve JSON verilerini taşıyarak) HTTP protokolü üzerinden çalışan bir mimaridir. REST mimarisini kullanan servislere ise RESTful servis denir. Detaylı bilgiye medium/rest adsesinden erişilebilir.

Başlıktaki konuyu teoriden pratiğe dökelim.

Kök dizinimiz altında api dizini olsun ve bu api dizini bir anlamda alt kök dizin olsun. api dizininde tablo ya da işlem yapacağımız veriler için adlandırdığımız klasörler ve bu klasörlerin içerisinde de her biri için ayrı ayrı index dosyaları bulunsun. Bu index dosyalara GET isteğinde bulunacağız ve sunucuya veri iletilecek (api burada devreye giriyor). Bu işlem için aşağıda butona tıklanınca gerçekleşecek kod blokları verilmiştir (index sayfasındaki kod blokları verilmeyecek-göz ardı edilecektir)

  • $('.libtn').on("click",function(){
  • var dataid=$(this).attr("id");
  • var dataclass=$(this).attr("tur");
  • $.ajax({
               method: 'GET',
               url : "https://duzcesozluk.com/api/"+dataclass+"/",
               data : {id:dataid},
               contentType: "application/json",
               success: function(cevap){
                console.log(cevap.tblDatas);
                $("#aloha").html(cevap.tblDatas.name);
               }
               });
             });

Yukarıdaki kod bloğu ile tıklanan butonun id ve tur bilgilerine erişilecek sonrasında ajax fonksiyonu ile bu bilgiler dahilinde GET isteğinde bulunulacak ve istek sonrasında veri döndürülecek (url parametresine, kendi çalışma alanınızı/adresinizi belirtmeyi unutmayın ! ). Dönen veriler ile kullanıcıya mesaj ve sayfa üzerindeki nesnenin içeriği değiştirilecek. URL ise şöyle görüntülenecek https://duzcesozluk.com/api/faculty/?id=9 (tıklanan butonun değerleri → id=9, tur=faculty). Bu URL arama motoru dostu değildir ve değiştirilmesi gerekmektedir (htaccess burada devreye giriyor). URL değişikliği için htaccess dosyasında aşağıdaki kod bloğu bulunmalıdır.

  • RewriteEngine On
  • RewriteCond %{REQUEST_FILENAME} !-d
  • RewriteCond %{REQUEST_FILENAME} !-f
  • RewriteCond %{REQUEST_FILENAME} !-l
  • RewriteRule ^api/faculty/([0-9]+)/$ api/faculty/index.php?id=$1 [QSA,L]

Bu değişiklik sonrasında butona tıklanınca gerçekleşecek kod bloklarının ajax fonksiyonundaki URL parametresi ve bu parametre neticesinde data parametresinin ya yorum satırı olarak kalması ya da silinmesi gerekmektedir. Aşağıda parametre değişiklikleri gösterilmiştir.

  • url : "https://duzcesozluk.com/api/"+dataclass+"/"+dataid,
  • //data : {id:dataid},

Ben data parametresini yorum satırı olarak saklamayı seçtim. Artık yeni url → https://duzcesozluk.com/api/faculty/9 şeklinde olacaktır. 

iam

Ömürcan Serdar, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Beğeni


Yıllara Göre Gönderiler








genel Kategori

Ubuntu Klavye Kısayolları

Windows Klavye Kısayolları

IntelliJ IDEA Klavye Kısayolları & PhpStorm Klavye Kısayolları