Files
fastapi/docs/tr/docs/tutorial/cookie-param-models.md
Motov Yurii ea8db708f1 🌐 Update translations for tr (update-all) (#14913)
* Update all

* 🎨 Auto format

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-13 13:41:38 +01:00

3.3 KiB
Raw Blame History

Cookie Parametre Modelleri

Birbirleriyle ilişkili bir cookie grubunuz varsa, bunları tanımlamak için bir Pydantic model oluşturabilirsiniz. 🍪

Bu sayede model'i yeniden kullanabilir, birden fazla yerde tekrar tekrar kullanabilir ve tüm parametreler için validation ve metadata'yı tek seferde tanımlayabilirsiniz. 😎

/// note | Not

This is supported since FastAPI version 0.115.0. 🤓

///

/// tip | İpucu

Aynı teknik Query, Cookie ve Header için de geçerlidir. 😎

///

Pydantic Model ile Cookies

İhtiyacınız olan cookie parametrelerini bir Pydantic model içinde tanımlayın ve ardından parametreyi Cookie olarak bildirin:

{* ../../docs_src/cookie_param_models/tutorial001_an_py310.py hl[9:12,16] *}

FastAPI, request ile gelen cookies içinden her bir field için veriyi extract eder ve size tanımladığınız Pydantic model'i verir.

Dokümanları Kontrol Edin

Tanımlanan cookie'leri /docs altındaki docs UI'da görebilirsiniz:

/// info | Bilgi

Tarayıcıların cookie'leri özel biçimlerde ve arka planda yönetmesi nedeniyle, JavaScript'in cookie'lere erişmesine kolayca izin vermediğini aklınızda bulundurun.

/docs altındaki API docs UI'a giderseniz, path operation'larınız için cookie'lerin dokümantasyonunu görebilirsiniz.

Ancak verileri doldurup "Execute" düğmesine tıklasanız bile, docs UI JavaScript ile çalıştığı için cookie'ler gönderilmez; dolayısıyla hiç değer girmemişsiniz gibi bir error mesajı görürsünüz.

///

Fazladan Cookie'leri Yasaklayın

Bazı özel kullanım senaryolarında (muhtemelen çok yaygın değildir) almak istediğiniz cookie'leri kısıtlamak isteyebilirsiniz.

API'niz artık kendi cookie onayı'nı kontrol etme gücüne sahip. 🤪🍪

Pydantic'in model configuration'ını kullanarak extra olan herhangi bir field'ı forbid edebilirsiniz:

{* ../../docs_src/cookie_param_models/tutorial002_an_py310.py hl[10] *}

Bir client fazladan cookie göndermeye çalışırsa, bir error response alır.

Onayınızı almak için bunca çaba harcayan zavallı cookie banner'ları... API'nin bunu reddetmesi için. 🍪

Örneğin client, değeri good-list-please olan bir santa_tracker cookie'si göndermeye çalışırsa, client santa_tracker cookie'ye izin verilmiyor diyen bir error response alır:

{
    "detail": [
        {
            "type": "extra_forbidden",
            "loc": ["cookie", "santa_tracker"],
            "msg": "Extra inputs are not permitted",
            "input": "good-list-please",
        }
    ]
}

Özet

FastAPI'de cookie tanımlamak için Pydantic model'lerini kullanabilirsiniz. 😎