Bölüm 3: Temel Konular

Sevgili okurlar,

Bir web uygulamasının temelleri üzerinde dursak, ilk olarak karşımıza çıkan konular; rotalama (routing), hata yönetimi (exception handling) ve ara katman (middleware) olacaktır. Sizler için özel olarak hazırladığımız bu bölümde, bu temel konuları detaylarıyla birlikte inceliyor ve her biri için pratik örnekler sunuyoruz. Hadi başlayalım!

3.1 Rotalama (Routing)

Rotalama, bir web uygulamasının bel kemiğidir. Kemal ile rotalama, URL yoluyla gelen isteklerin doğru işlevlere yönlendirilmesini sağlar. İlk olarak, farklı HTTP metodlarına göre temel bir rotalama örneğine göz atalım:

require "kemal"

get "/" do
  "Ana Sayfa"
end

get "/hakkimda" do
  "Hakkımda Sayfası"
end

post "/form" do
  "Form Başarıyla Gönderildi!"
end

Kemal.run

Bu örnekte, farklı URL yolları için get ve post metodlarını kullanarak rotalar oluşturduk. Şimdi, bu rotaları kullanarak bir web uygulaması oluşturmayı öğrenelim.

3.2 Hata Yönetimi (Exception Handling)

Hata yönetimi, bir uygulamanın kararlılığını ve güvenilirliğini sağlar. Kemal, hataları yönetmek için bir dizi araç sunar. İşte bir örnek:

require "kemal"

error 404 do
  "Üzgünüz, aradığınız sayfa bulunamadı."
end

get "/" do
  "Ana Sayfa"
end

Kemal.run

Bu örnekte, 404 hata kodu için özel bir hata mesajı belirledik. Kemal, çeşitli hata kodları için benzer hata işleyicileri oluşturmanıza olanak tanır.

3.3 Ara Katman (Middleware)

Ara katman, isteklerin ve yanıtların işlenmesine ek işlevselliğin eklenmesini sağlar. Kemal, ara katmanı kolayca eklemenize ve yönetmenize olanak tanır. İşte bir örnek:

require "kemal"

before do |env|
  env.response.headers["Content-Type"] = "text/plain"
end

get "/" do
  "Merhaba, Kemal!"
end

Kemal.run

Bu örnekte, bir ara katman oluşturduk ve her yanıta “Content-Type” başlığını ekledik. Böylece, yanıtlar düz metin olarak gönderilir.

Bu bölümde, Kemal'in temel konularını anlatan teorik bilgilerin yanı sıra, her konuda pratik kod örnekleri de sunduk. Umarız, bu örnekler sizlere Kemal ile uygulama geliştirirken rehberlik eder.

Sonraki bölümde, daha ileri konuları işlemeye devam edeceğiz. Şimdilik hoşça kalın ve kodlamaya devam edin!.

Last updated