Skip to content

Commit

Permalink
Update query-params.md
Browse files Browse the repository at this point in the history
  • Loading branch information
emrhnsyts committed Feb 17, 2024
1 parent 20ddffb commit bedab64
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions docs/tr/docs/tutorial/query-params.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Sorgu Parametreleri

Yol parametrelerinin parçası olmayan diğer fonksiyon parametreleri tanımlandığında bunlar otomatik olarak "sorgu" parametresi olarak yorumlanır.
Fonksiyonda yol parametrelerinin parçası olmayan diğer tanımlamalar otomatik olarak "sorgu" parametresi olarak yorumlanır.

```Python hl_lines="9"
{!../../../docs_src/query_params/tutorial001.py!}
```

Sorgu, URL'deki `?` kısmından sonra gelen ve `&` işareti ile ayrılan anahtar-değer çiftlerinin oluşturduğu bir kümedir.
Sorgu, bağlantıdaki `?` kısmından sonra gelen ve `&` işareti ile ayrılan anahtar-değer çiftlerinin oluşturduğu bir kümedir.

Örneğin, aşağıdaki URL'de:
Örneğin, aşağıdaki bağlantıda:

```
http://127.0.0.1:8000/items/?skip=0&limit=10
Expand All @@ -19,24 +19,24 @@ http://127.0.0.1:8000/items/?skip=0&limit=10
* `skip`: değeri `0`'dır
* `limit`: değeri `10`'dır

Parametreler URL'nin bir parçası oldukları için doğal olarak string olarak değerlendirilirler.
Parametreler bağlantının bir parçası oldukları için doğal olarak string olarak değerlendirilirler.

Fakat, Python tipleri ile tanımlandıkları zaman (yukarıdaki örnekte `int` oldukları gibi), parametreler o tiplere dönüştürülür ve o tipler çerçevesinde doğrulanırlar.

Yol parametreleri için geçerli olan her türlü işlem aynı şekilde sorgu parametreleri için de geçerlidir:

* Editör desteği (şüphesiz)
* Veri <abbr title="HTTP isteği ile birlikte gelen string'i Python verisine dönüştürme">"ayrıştırma"</abbr>
* Veri "<abbr title="HTTP isteği ile birlikte gelen string'i Python verisine dönüştürme">ayrıştırma</abbr>"
* Veri doğrulama
* Otomatik dokümantasyon

## Varsayılanlar

Sorgu parametreleri, adres yolunun sabit bir parçası olmadıklarından dolayı opsiyoneldirler ve varsayılan değere sahip olabilirler.
Sorgu parametreleri, adres yolunun sabit bir parçası olmadıklarından dolayı isteğe bağlı ve varsayılan değere sahip olabilirler.

Yukarıdaki örnekte `skip=0` ve `limit=10` varsayılan değere sahiplerdir.

Yani, aşağıdaki URL'ye gitmek:
Yani, aşağıdaki bağlantıya gitmek:

```
http://127.0.0.1:8000/items/
Expand All @@ -56,12 +56,12 @@ http://127.0.0.1:8000/items/?skip=20

Fonksiyonunuzdaki parametre değerleri aşağıdaki gibi olacaktır:

* `skip=20`: çünkü URL'de böyle tanımlandı.
* `skip=20`: çünkü bağlantıda böyle tanımlandı.
* `limit=10`: çünkü varsayılan değer buydu.

## Opsiyonel Parametreler
## İsteğe Bağlı Parametreler

Aynı şekilde, varsayılan değerlerini `None` olarak atayarak opsiyonel parametreler tanımlayabilirsiniz:
Aynı şekilde, varsayılan değerlerini `None` olarak atayarak isteğe bağlı parametreler tanımlayabilirsiniz:

=== "Python 3.10+"

Expand All @@ -75,7 +75,7 @@ Aynı şekilde, varsayılan değerlerini `None` olarak atayarak opsiyonel parame
{!> ../../../docs_src/query_params/tutorial002.py!}
```

Bu durumda, `q` fonksiyon parametresi opsiyonel olacak ve varsayılan değer olarak `None` alacaktır.
Bu durumda, `q` fonksiyon parametresi isteğe bağlı olacak ve varsayılan değer olarak `None` alacaktır.

!!! check "Ek bilgi"
Ayrıca, dikkatinizi çekerim ki; **FastAPI**, `item_id` parametresinin bir yol parametresi olduğunu ve `q` parametresinin yol değil bir sorgu parametresi olduğunu fark edecek kadar beceriklidir.
Expand Down Expand Up @@ -133,7 +133,7 @@ veya adres, herhangi farklı bir harf varyasyonu içermesi durumuna rağmen (bü

**FastAPI** neyin ne olduğunu ayırt edebileceğinden dolayı aynı anda birden fazla yol ve sorgu parametresi tanımlayabilirsiniz.

Ve parametreleri, herhangi belirli bir sıraya koymanıza da gerek yoktur.
Ve parametreleri, herhangi bir sıraya koymanıza da gerek yoktur.

İsimlerine göre belirleneceklerdir:

Expand All @@ -153,17 +153,17 @@ Ve parametreleri, herhangi belirli bir sıraya koymanıza da gerek yoktur.

Türü yol olmayan bir parametre (şu ana kadar sadece sorgu parametrelerini gördük) için varsayılan değer tanımlarsanız o parametre zorunlu olmayacaktır.

Parametre için belirli bir değer atamak istemeyip parametrenin sadece opsiyonel olmasını istiyorsanız değerini `None` olarak atayabilirsiniz.
Parametre için belirli bir değer atamak istemeyip parametrenin sadece isteğe bağlı olmasını istiyorsanız değerini `None` olarak atayabilirsiniz.

Fakat, bir sorgu parametresini zorunlu yapmak istiyorsanız varsayılan bir değer atama gibi bir hakkınız bulunmamaktadır:
Fakat, bir sorgu parametresini zorunlu yapmak istiyorsanız varsayılan bir değer atamamanız yeterli olacaktır:

```Python hl_lines="6-7"
{!../../../docs_src/query_params/tutorial005.py!}
```

Burada `needy` parametresi `str` tipinden oluşan bir sorgu parametresidir.
Burada `needy` parametresi `str` tipinden oluşan zorunlu bir sorgu parametresidir.

Eğer tarayıcınızda şu URL'yi:
Eğer tarayıcınızda şu bağlantıyı:

```
http://127.0.0.1:8000/items/foo-item
Expand All @@ -188,7 +188,7 @@ http://127.0.0.1:8000/items/foo-item
}
```

`needy` zorunlu bir parametre olduğundan dolayı URL adresinde onu tanımlamak mecburidir:
`needy` zorunlu bir parametre olduğundan dolayı bağlantıda tanımlanması gerekir:

```
http://127.0.0.1:8000/items/foo-item?needy=sooooneedy
Expand Down Expand Up @@ -221,7 +221,7 @@ Bu durumda, 3 tane sorgu parametresi var olacaktır:

* `needy`, zorunlu bir `str`.
* `skip`, varsayılan değeri `0` olan bir `int`.
* `limit`, opsiyonel bir `int`.
* `limit`, isteğe bağlı bir `int`.

!!! tip "İpucu"
Ayrıca, [Yol Parametrelerinde](path-params.md#predefined-values){.internal-link target=_blank} de kullanıldığı şekilde `Enum` sınıfından faydalanabilirsiniz.
Ayrıca, [Yol Parametreleri](path-params.md#predefined-values){.internal-link target=_blank}nde de kullanıldığı şekilde `Enum` sınıfından faydalanabilirsiniz.

0 comments on commit bedab64

Please sign in to comment.