docs/tr/docs/index.md MARKDOWN 586 lines View on github.com → Search inside
1---2include_yaml:3  sponsors: data/sponsors.yml4---56# FastAPI { #fastapi }78<style>9.md-content .md-typeset h1 { display: none; }10</style>1112<p align="center">13  <a href="https://fastapi.tiangolo.com/tr"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" alt="FastAPI"></a>14</p>15<p align="center">16    <em>FastAPI framework, yüksek performanslı, öğrenmesi kolay, kodlaması hızlı, production'a hazır</em>17</p>18<p align="center">19<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster">20    <img src="https://github.com/fastapi/fastapi/actions/workflows/test.yml/badge.svg?event=push&branch=master" alt="Test">21</a>22<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi">23    <img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/fastapi.svg" alt="Coverage">24</a>25<a href="https://pypi.org/project/fastapi">26    <img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="Package version">27</a>28<a href="https://pypi.org/project/fastapi">29    <img src="https://img.shields.io/pypi/pyversions/fastapi.svg?color=%2334D058" alt="Supported Python versions">30</a>31</p>3233---3435**Dokümantasyon**: [https://fastapi.tiangolo.com/tr](https://fastapi.tiangolo.com/tr)3637**Kaynak Kod**: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)3839---4041FastAPI, Python'un standart type hints'lerine dayalı olarak Python ile API'lar oluşturmak için kullanılan modern ve hızlı (yüksek performanslı) bir web framework'üdür.4243Temel özellikleri şunlardır:4445* **Hızlı**: Çok yüksek performanslı, **NodeJS** ve **Go** ile eşit düzeyde (Starlette ve Pydantic sayesinde). [Mevcut en hızlı Python framework'lerinden biri](#performance).46* **Kodlaması Hızlı**: Özellik geliştirme hızını yaklaşık %200 ile %300 aralığında artırır. *47* **Daha az hata**: İnsan (geliştirici) kaynaklı hataları yaklaşık %40 azaltır. *48* **Sezgisel**: Harika bir editör desteği. Her yerde <dfn title="oto-tamamlama, autocompletion, IntelliSense olarak da bilinir">Tamamlama</dfn>. Hata ayıklamaya daha az zaman.49* **Kolay**: Kullanımı ve öğrenmesi kolay olacak şekilde tasarlandı. Doküman okumaya daha az zaman.50* **Kısa**: Kod tekrarını minimize eder. Her parametre tanımından birden fazla özellik. Daha az hata.51* **Sağlam**: Production'a hazır kod elde edersiniz. Otomatik etkileşimli dokümantasyon ile birlikte.52* **Standardlara dayalı**: API'lar için açık standartlara dayalıdır (ve tamamen uyumludur); [OpenAPI](https://github.com/OAI/OpenAPI-Specification) (önceden Swagger olarak biliniyordu) ve [JSON Schema](https://json-schema.org/).5354<small>* tahmin, production uygulamalar geliştiren dahili bir geliştirme ekibinin yaptığı testlere dayanmaktadır.</small>5556## Sponsorlar { #sponsors }5758<!-- sponsors -->5960### Keystone Sponsor { #keystone-sponsor }6162<div class="fastapi-sponsors fastapi-sponsors--keystone">63{% for sponsor in sponsors.keystone -%}64<a class="fastapi-sponsors__card fastapi-sponsors__card--keystone" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}"></a>65{% endfor -%}66</div>6768### Gold Sponsorlar { #gold-sponsors }6970<div class="fastapi-sponsors fastapi-sponsors--gold">71{% for sponsor in sponsors.gold -%}72<a class="fastapi-sponsors__card fastapi-sponsors__card--gold" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>73{% endfor -%}74</div>7576### Silver Sponsorlar { #silver-sponsors }7778<div class="fastapi-sponsors fastapi-sponsors--silver">79{% for sponsor in sponsors.silver -%}80<a class="fastapi-sponsors__card fastapi-sponsors__card--silver" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>81{% endfor %}82</div>8384<!-- /sponsors -->8586[Diğer sponsorlar](https://fastapi.tiangolo.com/tr/fastapi-people/#sponsors)8788## Görüşler { #opinions }8990<!-- only-mkdocs -->91<div class="fastapi-opinions" data-fastapi-opinions>92  <div class="fastapi-opinions__tabs" role="tablist" aria-label="Companies using FastAPI">93    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-microsoft" aria-controls="fo-panel-microsoft" aria-selected="true" tabindex="0">94      <span class="fastapi-opinions__mark"><img src="/img/logos/microsoft.svg" alt="Microsoft" loading="lazy"></span>95    </button>96    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-uber" aria-controls="fo-panel-uber" aria-selected="false" tabindex="-1">97      <span class="fastapi-opinions__mark"><img src="/img/logos/uber.svg" alt="Uber" loading="lazy"></span>98    </button>99    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-netflix" aria-controls="fo-panel-netflix" aria-selected="false" tabindex="-1">100      <span class="fastapi-opinions__mark"><img src="/img/logos/netflix.svg" alt="Netflix" loading="lazy"></span>101    </button>102    <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-cisco" aria-controls="fo-panel-cisco" aria-selected="false" tabindex="-1">103      <span class="fastapi-opinions__mark"><img src="/img/logos/cisco.svg" alt="Cisco" loading="lazy"></span>104    </button>105  </div>106107  <div class="fastapi-opinions__panel" id="fo-panel-microsoft" role="tabpanel" aria-labelledby="fo-tab-microsoft" tabindex="0">108    <blockquote class="fastapi-opinions__quote">"Bugünlerde <strong>FastAPI</strong>'ı çok fazla kullanıyorum. Aslında ekibimin tamamındaki <strong>Microsoft'taki ML servisleri</strong> için kullanmayı planlıyorum. Bunların bazıları çekirdek <strong>Windows</strong> ürününe ve bazıları da <strong>Office</strong> ürünlerine entegre ediliyor."</blockquote>109    <div class="fastapi-opinions__attr">— Kabir Khan, <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26">(ref)</a></div>110  </div>111  <div class="fastapi-opinions__panel" id="fo-panel-uber" role="tabpanel" aria-labelledby="fo-tab-uber" tabindex="0" hidden>112    <blockquote class="fastapi-opinions__quote">"<strong>FastAPI</strong> kütüphanesini, sorgulanarak <strong>tahminler</strong> alınabilecek bir <strong>REST</strong> server başlatmak için benimsedik." <em>[Ludwig için]</em></blockquote>113    <div class="fastapi-opinions__attr">— Piero Molino, Yaroslav Dudin, Sai Sumanth Miryala, <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/">(ref)</a></div>114  </div>115  <div class="fastapi-opinions__panel" id="fo-panel-netflix" role="tabpanel" aria-labelledby="fo-tab-netflix" tabindex="0" hidden>116    <blockquote class="fastapi-opinions__quote">"<strong>Netflix</strong> olarak <strong>kriz yönetimi</strong> orkestrasyon framework'ümüzün açık kaynak sürümünü duyurmaktan memnuniyet duyuyoruz: <strong>Dispatch</strong>!" <em>[FastAPI ile geliştirildi]</em></blockquote>117    <div class="fastapi-opinions__attr">— Kevin Glisson, Marc Vilanova, Forest Monsen, <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072">(ref)</a></div>118  </div>119  <div class="fastapi-opinions__panel" id="fo-panel-cisco" role="tabpanel" aria-labelledby="fo-tab-cisco" tabindex="0" hidden>120    <blockquote class="fastapi-opinions__quote">"Production'da bir Python API geliştirmek isteyen herkese <strong>FastAPI</strong>'ı şiddetle tavsiye ederim. <strong>Harika tasarlanmış</strong>, <strong>kullanımı basit</strong> ve <strong>yüksek ölçekte çalışabilir</strong> — API-first geliştirme stratejimizin <strong>kilit bir bileşeni</strong> haline geldi."</blockquote>121    <div class="fastapi-opinions__attr">— Deon Pillsbury, <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/">(ref)</a></div>122  </div>123</div>124<!-- /only-mkdocs -->125126<div class="only-github" markdown="1">127128"_[...] Bugünlerde **FastAPI**'ı çok fazla kullanıyorum. [...] Aslında bunu ekibimin **Microsoft'taki ML servislerinin** tamamında kullanmayı planlıyorum. Bunlardan bazıları ana **Windows** ürününe ve bazı **Office** ürünlerine entegre ediliyor._"129130<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(ref)</small></a></div>131132---133134"_**FastAPI** kütüphanesini, **predictions** almak için sorgulanabilecek bir **REST** server oluşturmak amacıyla benimsedik. [Ludwig için]_"135136<div style="text-align: right; margin-right: 10%;">Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - <strong>Uber</strong> <a href="https://eng.uber.com/ludwig-v0-2/"><small>(ref)</small></a></div>137138---139140"_**Netflix**, **kriz yönetimi** orkestrasyon framework'ümüz: **Dispatch**'in open-source sürümünü duyurmaktan memnuniyet duyar! [**FastAPI** ile geliştirildi]_"141142<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen - <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(ref)</small></a></div>143144---145146"_Production'da Python API geliştirmek isteyen herkese **FastAPI**'ı şiddetle tavsiye ederim. **Harika tasarlanmış**, **kullanımı kolay** ve **yüksek ölçeklenebilir**; API-first geliştirme stratejimizin **kilit bir bileşeni** haline geldi ve Virtual TAC Engineer gibi birçok otomasyon ve servise güç veriyor._"147148<div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(ref)</small></a></div>149150---151152</div>153154## FastAPI Conf { #fastapi-conf }155156[**FastAPI Conf '26**](https://fastapiconf.com) **28 Ekim 2026**'da **Amsterdam, NL**'de gerçekleşiyor. Kaynağından, bütünüyle FastAPI. 🎤157158<a class="fastapi-feature-banner" href="https://fastapiconf.com"><img src="https://fastapi.tiangolo.com/img/fastapi-conf.jpeg" alt="FastAPI Conf '26 - 28 Ekim 2026 - Amsterdam, NL"></a>159160## FastAPI mini belgeseli { #fastapi-mini-documentary }1611622025'in sonunda yayınlanan bir [FastAPI mini belgeseli](https://www.youtube.com/watch?v=mpR8ngthqiE) var, online olarak izleyebilirsiniz:163164<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>165166## CLI'ların FastAPI'ı: **Typer** { #typer-the-fastapi-of-clis }167168<a href="https://typer.tiangolo.com"><img src="https://typer.tiangolo.com/img/logo-margin/logo-margin-vector.svg" style="width: 20%;"></a>169170Web API yerine terminalde kullanılacak bir <abbr title="Command Line Interface - Komut Satırı Arayüzü">CLI</abbr> uygulaması geliştiriyorsanız [**Typer**](https://typer.tiangolo.com/)'a göz atın.171172**Typer**, FastAPI'ın küçük kardeşi. Ve hedefi CLI'ların **FastAPI'ı** olmak. ⌨️ 🚀173174## Gereksinimler { #requirements }175176FastAPI iki devin omuzları üstünde duruyor:177178* Web kısımları için [Starlette](https://www.starlette.dev/).179* Data kısımları için [Pydantic](https://docs.pydantic.dev/).180181## Kurulum { #installation }182183Bir [virtual environment](https://fastapi.tiangolo.com/tr/virtual-environments/) oluşturup etkinleştirelim ve ardından FastAPI'ı yükleyelim:184185<div class="termy">186187```console188$ pip install "fastapi[standard]"189190---> 100%191```192193</div>194195**Not**: Tüm terminallerde çalıştığından emin olmak için `"fastapi[standard]"` ifadesini tırnak içinde yazdığınızdan emin olun.196197## Örnek { #example }198199### Oluşturalım { #create-it }200201Şu içerikle `main.py` adında bir dosya oluşturalım:202203```Python204from fastapi import FastAPI205206app = FastAPI()207208209@app.get("/")210def read_root():211    return {"Hello": "World"}212213214@app.get("/items/{item_id}")215def read_item(item_id: int, q: str | None = None):216    return {"item_id": item_id, "q": q}217```218219<details markdown="1">220<summary>Ya da <code>async def</code> kullanalım...</summary>221222Eğer kodunuz `async` / `await` kullanıyorsa, `async def` kullanın:223224```Python hl_lines="7  12"225from fastapi import FastAPI226227app = FastAPI()228229230@app.get("/")231async def read_root():232    return {"Hello": "World"}233234235@app.get("/items/{item_id}")236async def read_item(item_id: int, q: str | None = None):237    return {"item_id": item_id, "q": q}238```239240**Not**:241242Eğer bilmiyorsanız, dokümanlardaki [`async` ve `await`](https://fastapi.tiangolo.com/tr/async/#in-a-hurry) hakkında _"Aceleniz mi var?"_ bölümüne bakın.243244</details>245246### Çalıştıralım { #run-it }247248Sunucuyu şu komutla çalıştıralım:249250<div class="termy">251252```console253$ fastapi dev254255 ╭────────── FastAPI CLI - Development mode ───────────╮256                                                      257   Serving at: http://127.0.0.1:8000                  │258                                                      259   API docs: http://127.0.0.1:8000/docs               │260                                                      261   Running in development mode, for production use:   262                                                      263   fastapi run                                        264                                                      265 ╰─────────────────────────────────────────────────────╯266267INFO:     Will watch for changes in these directories: ['/home/user/code/awesomeapp']268INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)269INFO:     Started reloader process [2248755] using WatchFiles270INFO:     Started server process [2248757]271INFO:     Waiting for application startup.272INFO:     Application startup complete.273```274275</div>276277<details markdown="1">278<summary><code>fastapi dev</code> komutu hakkında...</summary>279280`fastapi dev` komutu, `main.py` dosyanızı okur, içindeki **FastAPI** uygulamasını algılar ve [Uvicorn](https://www.uvicorn.dev) kullanarak bir server başlatır.281282Varsayılan olarak `fastapi dev`, local geliştirme için auto-reload etkin şekilde başlar.283284Daha fazla bilgi için [FastAPI CLI dokümantasyonu](https://fastapi.tiangolo.com/tr/fastapi-cli/)'nu okuyabilirsiniz.285286</details>287288### Kontrol Edelim { #check-it }289290Tarayıcınızda şu bağlantıyı açın: [http://127.0.0.1:8000/items/5?q=somequery](http://127.0.0.1:8000/items/5?q=somequery).291292Şu JSON response'unu göreceksiniz:293294```JSON295{"item_id": 5, "q": "somequery"}296```297298Artık şunları yapan bir API oluşturdunuz:299300* `/` ve `/items/{item_id}` _path_'lerinde HTTP request'leri alır.301* Her iki _path_ de `GET` <em>operasyonlarını</em> (HTTP _method_'ları olarak da bilinir) kabul eder.302* `/items/{item_id}` _path_'i, `int` olması gereken `item_id` adlı bir _path parameter_'a sahiptir.303* `/items/{item_id}` _path_'i, opsiyonel `str` bir _query parameter_ olan `q`'ya sahiptir.304305### Etkileşimli API dokümantasyonu { #interactive-api-docs }306307Şimdi [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) adresine gidin.308309Otomatik etkileşimli API dokümantasyonunu göreceksiniz ([Swagger UI](https://github.com/swagger-api/swagger-ui) tarafından sağlanır):310311![Swagger UI](https://fastapi.tiangolo.com/img/index/index-01-swagger-ui-simple.png)312313### Alternatif API dokümantasyonu { #alternative-api-docs }314315Ve şimdi [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) adresine gidin.316317Alternatif otomatik dokümantasyonu göreceksiniz ([ReDoc](https://github.com/Rebilly/ReDoc) tarafından sağlanır):318319![ReDoc](https://fastapi.tiangolo.com/img/index/index-02-redoc-simple.png)320321## Örneği Güncelleyelim { #example-upgrade }322323Şimdi `main.py` dosyasını, `PUT` request'iyle gelen bir body alacak şekilde değiştirelim.324325Body'yi Pydantic sayesinde standart Python tiplerini kullanarak tanımlayalım.326327```Python hl_lines="2  7-10 23-25"328from fastapi import FastAPI329from pydantic import BaseModel330331app = FastAPI()332333334class Item(BaseModel):335    name: str336    price: float337    is_offer: bool | None = None338339340@app.get("/")341def read_root():342    return {"Hello": "World"}343344345@app.get("/items/{item_id}")346def read_item(item_id: int, q: str | None = None):347    return {"item_id": item_id, "q": q}348349350@app.put("/items/{item_id}")351def update_item(item_id: int, item: Item):352    return {"item_name": item.name, "item_id": item_id}353```354355`fastapi dev` server'ı otomatik olarak yeniden yüklemelidir.356357### Etkileşimli API dokümantasyonu güncellemesi { #interactive-api-docs-upgrade }358359Şimdi [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs) adresine gidin.360361* Etkileşimli API dokümantasyonu, yeni body dahil olacak şekilde otomatik olarak güncellenecek:362363![Swagger UI](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png)364365* "Try it out" butonuna tıklayın; parametreleri doldurmanıza ve API ile doğrudan etkileşime girmenize olanak sağlar:366367![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-04-swagger-03.png)368369* Sonra "Execute" butonuna tıklayın; kullanıcı arayüzü API'nız ile iletişim kuracak, parametreleri gönderecek, sonuçları alacak ve ekranda gösterecek:370371![Swagger UI interaction](https://fastapi.tiangolo.com/img/index/index-05-swagger-04.png)372373### Alternatif API dokümantasyonu güncellemesi { #alternative-api-docs-upgrade }374375Ve şimdi [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc) adresine gidin.376377* Alternatif dokümantasyon da yeni query parameter ve body'yi yansıtacak:378379![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png)380381### Özet { #recap }382383Özetle, parametrelerin, body'nin vb. type'larını fonksiyon parametreleri olarak **bir kere** tanımlarsınız.384385Bunu standart modern Python tipleriyle yaparsınız.386387Yeni bir syntax, belirli bir kütüphanenin method'larını ya da class'larını vb. öğrenmeniz gerekmez.388389Sadece standart **Python**.390391Örneğin bir `int` için:392393```Python394item_id: int395```396397ya da daha karmaşık bir `Item` modeli için:398399```Python400item: Item401```402403...ve bu tek tanımla şunları elde edersiniz:404405* Şunlar dahil editör desteği:406    * Completion.407    * Type kontrolleri.408* Verinin doğrulanması:409    * Veri geçersiz olduğunda otomatik ve anlaşılır hatalar.410    * Çok derin iç içe JSON nesneleri için bile doğrulama.411* Girdi verisinin <dfn title="şöyle de bilinir: serileştirme, ayrıştırma, marshalling">Dönüşümü</dfn>: network'ten gelen veriyi Python verisine ve type'larına çevirir. Şunlardan okur:412    * JSON.413    * Path parameter'lar.414    * Query parameter'lar.415    * Cookie'ler.416    * Header'lar.417    * Form'lar.418    * File'lar.419* Çıktı verisinin <dfn title="şöyle de bilinir: serileştirme, ayrıştırma, marshalling">Dönüşümü</dfn>: Python verisini ve type'larını network verisine çevirir (JSON olarak):420    * Python type'larını dönüştürür (`str`, `int`, `float`, `bool`, `list`, vb.).421    * `datetime` nesneleri.422    * `UUID` nesneleri.423    * Veritabanı modelleri.424    * ...ve daha fazlası.425* 2 alternatif kullanıcı arayüzü dahil otomatik etkileşimli API dokümantasyonu:426    * Swagger UI.427    * ReDoc.428429---430431Önceki kod örneğine dönersek, **FastAPI** şunları yapacaktır:432433* `GET` ve `PUT` request'leri için path'te `item_id` olduğunu doğrular.434* `GET` ve `PUT` request'leri için `item_id`'nin type'ının `int` olduğunu doğrular.435    * Değilse, client faydalı ve anlaşılır bir hata görür.436* `GET` request'leri için `q` adlı opsiyonel bir query parameter olup olmadığını kontrol eder (`http://127.0.0.1:8000/items/foo?q=somequery` örneğindeki gibi).437    * `q` parametresi `= None` ile tanımlandığı için opsiyoneldir.438    * `None` olmasaydı zorunlu olurdu (tıpkı `PUT` örneğindeki body gibi).439* `/items/{item_id}`'ye yapılan `PUT` request'leri için body'yi JSON olarak okur:440    * `str` olması gereken, zorunlu `name` alanı olduğunu kontrol eder.441    * `float` olması gereken, zorunlu `price` alanı olduğunu kontrol eder.442    * Varsa, `bool` olması gereken opsiyonel `is_offer` alanını kontrol eder.443    * Bunların hepsi çok derin iç içe JSON nesneleri için de çalışır.444* JSON'a ve JSON'dan dönüşümü otomatik yapar.445* Her şeyi OpenAPI ile dokümante eder; bu dokümantasyon şunlar tarafından kullanılabilir:446    * Etkileşimli dokümantasyon sistemleri.447    * Birçok dil için otomatik client kodu üretim sistemleri.448* 2 etkileşimli dokümantasyon web arayüzünü doğrudan sunar.449450---451452Daha yolun başındayız, ama bunun nasıl çalıştığı hakkında fikri kaptınız.453454Şu satırı değiştirmeyi deneyin:455456```Python457    return {"item_name": item.name, "item_id": item_id}458```459460...şundan:461462```Python463        ... "item_name": item.name ...464```465466...şuna:467468```Python469        ... "item_price": item.price ...470```471472...ve editörünüzün alanları otomatik tamamladığını ve type'larını bildiğini görün:473474![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png)475476Daha fazla özellik içeren daha kapsamlı bir örnek için <a href="https://fastapi.tiangolo.com/tr/tutorial/">Öğretici - Kullanıcı Rehberi</a>'ne bakın.477478**Spoiler alert**: öğretici - kullanıcı rehberi şunları içerir:479480* **parameter**'ların farklı yerlerden: **header**'lar, **cookie**'ler, **form alanları** ve **file**'lar olarak tanımlanması.481* `maximum_length` ya da `regex` gibi **doğrulama kısıtlamalarının** nasıl ayarlanacağı.482* Çok güçlü ve kullanımı kolay bir **<dfn title="şöyle de bilinir: bileşenler, kaynaklar, sağlayıcılar, servisler, enjekte edilebilirler">Bağımlılık Enjeksiyonu</dfn>** sistemi.483* **JWT tokens** ve **HTTP Basic** auth ile **OAuth2** desteği dahil güvenlik ve kimlik doğrulama.484* **Çok derin iç içe JSON modelleri** tanımlamak için daha ileri (ama aynı derecede kolay) teknikler (Pydantic sayesinde).485* [Strawberry](https://strawberry.rocks) ve diğer kütüphaneler ile **GraphQL** entegrasyonu.486* Starlette sayesinde gelen birçok ek özellik:487    * **WebSockets**488    * HTTPX ve `pytest` tabanlı aşırı kolay testler489    * **CORS**490    * **Cookie Sessions**491    * ...ve daha fazlası.492493### Uygulamanızı deploy edin (opsiyonel) { #deploy-your-app-optional }494495İsterseniz FastAPI uygulamanızı [FastAPI Cloud](https://fastapicloud.com)'a deploy edebilirsiniz; eğer henüz yapmadıysanız gidip bekleme listesine katılın. 🚀496497Zaten bir **FastAPI Cloud** hesabınız varsa (bekleme listesinden sizi davet ettiysek 😉), uygulamanızı tek bir komutla deploy edebilirsiniz.498499<div class="termy">500501```console502$ fastapi deploy503504Deploying to FastAPI Cloud...505506 Deployment successful!507508🐔 Ready the chicken! Your app is ready at https://myapp.fastapicloud.dev509```510511</div>512513Hepsi bu! Artık uygulamanıza bu URL'den erişebilirsiniz. ✨514515#### FastAPI Cloud hakkında { #about-fastapi-cloud }516517**[FastAPI Cloud](https://fastapicloud.com)**, **FastAPI**'ın arkasındaki aynı yazar ve ekip tarafından geliştirilmiştir.518519**Bir API'ı build etmek**, **deploy etmek** ve **erişmek** süreçlerini minimum eforla kolaylaştırır.520521FastAPI ile uygulama geliştirmenin sağladığı aynı **developer experience**'ı, onları cloud'a **deploy etmeye** de taşır. 🎉522523FastAPI Cloud, *FastAPI and friends* open source projelerinin ana sponsoru ve finansman sağlayıcısıdır. 524525#### Diğer cloud sağlayıcılarına deploy { #deploy-to-other-cloud-providers }526527FastAPI open source'tur ve standartlara dayanır. FastAPI uygulamalarını seçtiğiniz herhangi bir cloud sağlayıcısına deploy edebilirsiniz.528529FastAPI uygulamalarını onlarla deploy etmek için cloud sağlayıcınızın rehberlerini takip edin. 🤓530531## Performans { #performance }532533Bağımsız TechEmpower kıyaslamaları, Uvicorn altında çalışan **FastAPI** uygulamalarının [mevcut en hızlı Python framework'lerinden biri](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7) olduğunu gösteriyor; sadece Starlette ve Uvicorn'un kendisinin gerisinde (FastAPI tarafından dahili olarak kullanılır). (*)534535Daha iyi anlamak için [Kıyaslamalar](https://fastapi.tiangolo.com/tr/benchmarks/) bölümüne bakın.536537## Bağımlılıklar { #dependencies }538539FastAPI, Pydantic ve Starlette'a bağımlıdır.540541### `standard` Bağımlılıkları { #standard-dependencies }542543FastAPI'ı `pip install "fastapi[standard]"` ile yüklediğinizde, opsiyonel bağımlılıkların `standard` grubuyla birlikte gelir:544545Pydantic tarafından kullanılanlar:546547* [`email-validator`](https://github.com/JoshData/python-email-validator) - email doğrulaması için.548549Starlette tarafından kullanılanlar:550551* [`httpx`](https://www.python-httpx.org) - `TestClient` kullanmak istiyorsanız gereklidir.552* [`jinja2`](https://jinja.palletsprojects.com) - varsayılan template yapılandırmasını kullanmak istiyorsanız gereklidir.553* [`python-multipart`](https://github.com/Kludex/python-multipart) - `request.form()` ile, form <dfn title="HTTP request'ten gelen string'i Python verisine dönüştürme">"ayrıştırma"</dfn> desteği istiyorsanız gereklidir.554555FastAPI tarafından kullanılanlar:556557* [`uvicorn`](https://www.uvicorn.dev) - uygulamanızı yükleyen ve servis eden server için. Buna, yüksek performanslı servis için gereken bazı bağımlılıkları (örn. `uvloop`) içeren `uvicorn[standard]` dahildir.558* `fastapi-cli[standard]` - `fastapi` komutunu sağlamak için.559    * Buna, FastAPI uygulamanızı [FastAPI Cloud](https://fastapicloud.com)'a deploy etmenizi sağlayan `fastapi-cloud-cli` dahildir.560561### `standard` Bağımlılıkları Olmadan { #without-standard-dependencies }562563`standard` opsiyonel bağımlılıklarını dahil etmek istemiyorsanız, `pip install fastapi` ile kurabilirsiniz.564565### `fastapi-cloud-cli` Olmadan { #without-fastapi-cloud-cli }566567FastAPI'ı standard bağımlılıklarla ama `fastapi-cloud-cli` olmadan kurmak istiyorsanız, `pip install "fastapi[standard-no-fastapi-cloud-cli]"` ile yükleyebilirsiniz.568569### Ek Opsiyonel Bağımlılıklar { #additional-optional-dependencies }570571Yüklemek isteyebileceğiniz bazı ek bağımlılıklar da vardır.572573Ek opsiyonel Pydantic bağımlılıkları:574575* [`pydantic-settings`](https://docs.pydantic.dev/latest/usage/pydantic_settings/) - ayar yönetimi için.576* [`pydantic-extra-types`](https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/) - Pydantic ile kullanılacak ek type'lar için.577578Ek opsiyonel FastAPI bağımlılıkları:579580* [`orjson`](https://github.com/ijl/orjson) - `ORJSONResponse` kullanmak istiyorsanız gereklidir.581* [`ujson`](https://github.com/esnme/ultrajson) - `UJSONResponse` kullanmak istiyorsanız gereklidir.582583## Lisans { #license }584585Bu proje MIT lisansı şartları altında lisanslanmıştır.

Security findings 2

LinkedIn Client Id
security
LinkedIn Client Id
security

Get this view in your editor

Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.