Guide 05 / Query Params

Query parameter sorunlarini, encode ve parse akisiyla satir satir ayikla.

`+`, `%20`, tekrar eden key'ler, bozuk yuzde kacislari ve beklenmeyen query string yapilari API davranisini sessizce degistirebilir. Bu guide, URL Encode araci ve query parser gorunumuyle parametre hatalarini daraltmak icin en kisa akisi verir.

Encode
Value
tum URL yerine hangi parcanin encode olacagini ayir
Parser
Rows
tekrar eden key ve coklu degerleri tabloya dok
Decode
Raw
bozuk yuzde kacislarini ve cift encode akisini aciga cikar
Workflow

4 adimli query param triage

  1. 1. Query string'i raw haliyle ayir

    Tam URL, sadece `?` sonrasi kisim veya decode edilmis bir parca olabilir. Once gercek giden query'yi satir satir ayirmadan sorunun nerede oldugu belli olmaz.

  2. 2. Hangi parcanin encode edilmesi gerektigini belirle

    Parametre degeri icindeki bosluk, `&`, `=` ve Turkce karakterler encode edilmelidir. Ancak tum URL'i encode etmek genelde separator karakterleri bozdugu icin ikinci bir hata sinifi yaratir.

  3. 3. Query parser ile tekrar eden key ve coklu degerleri incele

    `tag=a&tag=b` gibi yapilar bazen niyetli, bazen istemeden tekrar eden parametrelerdir. Query parser tablo ve JSON gorunumuyle bu farki netlestirir.

  4. 4. Decode hatasini cift encode veya yarim kacis olarak ayir

    `%25` ve benzeri gorunumler bazen cift encode isareti verir. Decode islemi hata veriyorsa bozuk `%` kacisi veya kopyalama sirasinda karakter kaybi ihtimali kontrol edilmelidir.

Common Mistakes

En sik 3 query sorunu

1. Tum URL'i encode etmek

`?`, `&` ve `=` karakterleri de encode olunca sunucu beklenen parametreleri ayiramaz. Encode odagi parametre degerinde kalmalidir.

2. `+` ile `%20` farkini atlamak

Bazı sistemler `+` isaretini bosluk gibi yorumlar, bazilari aynen tasir. Gercek query string davranisini parse etmeden karar vermek yanlis yonlendirebilir.

3. Tekrarlanan key'leri gormemek

Ayni parametre iki kez geliyorsa backend ilkini, sonuncusunu veya listeyi kullanabilir. Parser gorunumu olmadan hangi durumun gectigini anlamak zorlasir.

Example

Query debugging sirasinda mini checklist

Sorunlu query
/search?q=istanbul etkinlik&tag=api&tag=debug&redirect=https://foo.com?a=1&b=2
Sorulacak 4 soru
  • `q` degerindeki bosluk encode edildi mi?
  • `redirect` icindeki alt URL ayri encode edildi mi?
  • `tag` parametresinin iki kez gelmesi beklenen bir durum mu?
  • Decode ederken bozuk `%` kacisi olusuyor mu?
Tool Stack

Bu use-case'te hangi araci ne zaman acarsin?

FAQ

Sik sorulanlar

Tum URL'i encode etmek neden riskli?

Cunku query separator'lari da encode olur. Bu durumda backend tek bir string gorur ve parametreleri beklendigi gibi parse edemez.

Ayni key'in iki kez gelmesi normal olabilir mi?

Evet. Filtreleme, tag veya liste tabanli API'lerde bu bilincli olabilir. Hata olan kisim, bunun niyetli mi yoksa istemeden mi oldugunu ayirmamaktir.

Decode niye bazen gecersiz yuzde kacisi hatasi verir?

Kopyalanirken `%` sonrasi iki hex karakter eksik kalmis olabilir ya da veri iki kez encode edilip yarim decode edilmis olabilir.

CTA

Query param akisini simdi daralt

Parametre degeri, redirect URL ve tekrar eden key'leri ayni anda parse etmek, sessiz query hatalarini daha hizli buldurur. Once URL Encode araci ile raw query'yi inceleyin, sonra gerekirse payload baglamina donun.