0Pricing
Ruby Academy · Ders

Yollar ve Parametreler

HTTP'yi işleme

Yollar ve Parametreler, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.

HTTP İsteklerini İşleme

Web uygulamaları, rotaları eşleştirip parametreleri okuyarak isteklere yanıt verir.

  • Yol bölümleri dinamik olabilir
  • Sorgu dizeleri ek veriler taşır
  • Form gövdeleri gönderilen alanları taşır

Sinatra, bunların tümünü params karması aracılığıyla sunar.

require 'sinatra'

get '/echo' do
  params['msg'].to_s
end

Adlandırılmış Rota Parametreleri

Yoldaki iki nokta, bir yol bölümünü yakalayan adlandırılmış bir parametre tanımlar.

  • /users/:id, /users/42 ile eşleşir
  • Yakalanan değer params['id'] içinde görünür
require 'sinatra'

get '/users/:id' do
  "User ID is #{params['id']}"
end

Birden Çok Parametre

Bir rotada birden çok adlandırılmış parametre bulunabilir.

  • İki nokta içeren her bölüm, params içinde bir anahtara dönüşür
  • Yoldaki sıra, erişim açısından önemli değildir
require 'sinatra'

get '/posts/:year/:month' do
  "Posts from #{params['month']}/#{params['year']}"
end

Sorgu Dizesi Parametreleri

Sorgu dizesindeki ? işaretinden sonraki değerler de params içine alınır.

  • /search?q=ruby, params['q'] == 'ruby' değerini verir
  • Birden çok çift & ile ayrılır
require 'sinatra'

get '/search' do
  "Searching for: #{params['q']}"
end

params ile Karma Olarak Çalışma

params nesnesi bir Ruby karması gibi davranır. Basit bir karmayla pratik yapmak kalıpları netleştirir.

  • Güvenlik için varsayılan değerle birlikte fetch kullanın
  • Gelenek gereği anahtarlar dizelerdir
params = { 'name' => 'Ada', 'lang' => 'Ruby' }

puts params['name']
puts params.fetch('age', 'unknown')

POST ile Form Verileri

post isteklerinde gönderilen form alanları da params içinde görünür.

  • Sinatra, istek gövdesini otomatik olarak ayrıştırır
  • Sorgu parametreleriyle aynı erişim kalıbı kullanılır
require 'sinatra'

post '/signup' do
  "Welcome, #{params['username']}"
end

Yıldız Parametreleri

Bir yıldız eşleşmesi (*) herhangi sayıda karakterle eşleşir ve bunları params['splat'] dizisinde saklar.

  • /files/* yolun geri kalanını yakalar
  • Birden çok yıldız eşleşmesi, dizide birden çok giriş oluşturur
require 'sinatra'

get '/files/*' do
  "Path: #{params['splat'].first}"
end

İsteğe Bağlı ve Düzenli İfade Rotaları

Rotalar, kesin eşleştirme için düzenli ifadeleri kullanabilir.

  • Yakalanan değerler params['captures'] içinde kullanılabilir
  • Yalnızca sayısal kimlikler gibi kısıtlamalar için kullanışlıdır
require 'sinatra'

get %r{/item/(\d+)} do
  "Item #{params['captures'].first}"
end

Parametreleri Doğrulama

Gelen parametreler dize olarak geldiğinden bunları her zaman doğrulayıp dönüştürün.

  • Sayılar için to_i veya Integer() kullanın
  • Gerekli değerler eksikse bunu açık bir hatayla reddedin
def parse_id(raw)
  id = Integer(raw)
  raise 'must be positive' if id <= 0
  id
end

puts parse_id('42')

Varsayılan Değerler

Boş değer hatalarını önlemek için isteğe bağlı parametrelere makul varsayılanlar sağlayın.

  • params.fetch('page', '1')
  • Güvenli sayfalama için dönüştürmeyle birlikte kullanın
params = { 'page' => nil }
page = (params['page'] || '1').to_i
puts "Page: #{page}"

Yeniden Yönlendirme

İstemciyi başka bir URL'ye göndermek için redirect kullanın.

  • Varsayılan olarak 302 durumu gönderir
  • Başarılı bir form gönderiminden sonra yaygın olarak kullanılır
require 'sinatra'

post '/login' do
  redirect '/dashboard'
end

Hızlı Kontrol

Rotalar ve parametreler hakkında bildiklerinizi kontrol edin.

Özet

Sinatra'nın girdiyi nasıl işlediğini öğrendiniz:

  • Adlandırılmış parametreler, yolda :name kullanır
  • Sorgu dizeleri ve form alanları da params değerini doldurur
  • Yıldız eşleşmeleri ve düzenli ifade rotaları esnek yolları yakalar
  • Dize parametrelerini her zaman doğrulayıp dönüştürün
  • İstemcileri URL'ler arasında taşımak için redirect kullanın

Sırada yapılandırılmış JSON yanıtları döndüreceksiniz.

Sıkça Sorulan Sorular

“Yollar ve Parametreler” dersi ücretsiz mi?

Evet — “Yollar ve Parametreler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.

“Yollar ve Parametreler” dersinde ne öğreneceğim?

HTTP'yi işleme Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Yollar ve Parametreler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Sinatra Temelleri
  2. Yollar ve Parametreler
  3. JSON API'leri
  4. Ara Katman Yazılımı ve Rack
← Ruby Academy Sayfasına Dön