Movatterモバイル変換


[0]ホーム

URL:


Ana içeriğe geç
Join theFastAPI Cloud waiting list 🚀
Follow@fastapi onX (Twitter) to stay updated
FollowFastAPI onLinkedIn to stay updated
Subscribe to theFastAPI and friends newsletter 🎉
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor
sponsor

Özellikler

🌐 Yapay Zekâ ve İnsanlar Tarafından Çeviri

Bu çeviri, insanlar tarafından yönlendirilen bir yapay zekâ ile oluşturuldu. 🤝

Orijinal anlamın yanlış anlaşılması ya da kulağa doğal gelmeme gibi hatalar içerebilir. 🤖

Yapay zekâ LLM'ini daha iyi yönlendirmemize yardımcı olarak bu çeviriyi iyileştirebilirsiniz.

İngilizce sürüm

FastAPI Özellikleri

FastAPI size şunları sağlar:

Açık Standartlara Dayalı

  • API oluşturmadaOpenAPI, bunapathoperasyonları, parametreler, request body'leri, güvenlik vb. deklarasyonları dahildir.
  • JSON Schema ile otomatik veri modeli dokümantasyonu (OpenAPI zaten JSON Schema'ya dayanır).
  • Bu standartlar etrafında, titiz bir çalışmanın ardından tasarlandı; sonradan eklenmiş bir katman değil.
  • Bu sayede birçok dilde otomatikclient code generation da kullanılabilir.

Otomatik Dokümantasyon

Etkileşimli API dokümantasyonu ve keşif için web arayüzleri. Framework OpenAPI’ye dayandığından, birden fazla seçenek vardır; varsayılan olarak 2’si dahildir.

  • Swagger UI ile etkileşimli keşif; API’nizi tarayıcıdan doğrudan çağırıp test edin.

Swagger UI interaction

  • ReDoc ile alternatif API dokümantasyonu.

ReDoc

Sadece Modern Python

Her şey standartPython type deklarasyonlarına dayanır (Pydantic sayesinde). Öğrenilecek yeni bir söz dizimi yok. Sadece standart, modern Python.

Python type’larını nasıl kullanacağınıza dair 2 dakikalık bir hatırlatmaya ihtiyacınız varsa (FastAPI kullanmasanız bile) kısa eğitime göz atın:Python Types.

Türleriyle standart Python yazarsınız:

fromdatetimeimportdatefrompydanticimportBaseModel# Bir değişkeni str olarak belirt# ve fonksiyon içinde editör desteği aldefmain(user_id:str):returnuser_id# Bir Pydantic modeliclassUser(BaseModel):id:intname:strjoined:date

Sonra şöyle kullanabilirsiniz:

my_user:User=User(id=3,name="John Doe",joined="2018-07-19")second_user_data={"id":4,"name":"Mary","joined":"2018-11-30",}my_second_user:User=User(**second_user_data)

Info

**second_user_data şu anlama gelir:

second_user_data dict’indeki anahtar ve değerleri doğrudan anahtar-değer argümanları olarak geç; şu ifadeye eşdeğerdir:User(id=4, name="Mary", joined="2018-11-30")

Editör Desteği

Tüm framework, kullanımı kolay ve sezgisel olacak şekilde tasarlandı; en iyi geliştirme deneyimini sağlamak için geliştirmeye başlamadan önce bile alınan kararlar birden çok editörde test edildi.

Python geliştirici anketlerinde açıkça görülüyor kien çok kullanılan özelliklerden biri "otomatik tamamlama".

TümFastAPI bunun tatmin edilmesi üzerine kuruldu. Otomatik tamamlama her yerde çalışır.

Dokümana geri dönmeniz nadiren gerekecek.

Editörünüz şöyle yardımcı olabilir:

editor support

editor support

Daha önce imkânsız olduğunu düşünebileceğiniz yerlerde bile tamamlama alırsınız. Örneğin, bir request’ten gelen (iç içe de olabilir) JSON body içindekiprice anahtarı için.

Artık anahtar adlarını yanlış yazmak, dokümana gidip gelmek ya da sonundausername miuser_name mi kullandığınızı bulmak için sayfayı yukarı aşağı kaydırmak yok.

Kısa

Her şey için mantıklıvarsayılanlar ve her yerde isteğe bağlı yapılandırmalar vardır. Tüm parametreler, ihtiyacınızı karşılayacak şekilde ince ayar yapılarak tanımlamak istediğiniz API’yi oluşturabilir.

Ancak varsayılan hâliyle hepsi“hemen çalışır”.

Doğrulama

  • Çoğu (veya hepsi?) Pythonveri tipi için doğrulama, şunlar dâhil:

    • JSON nesneleri (dict).
    • Eleman tipleri tanımlanan JSON dizileri (list).
    • Minimum ve maksimum uzunlukları tanımlanan String (str) alanları.
    • Min ve max değerleri olan sayılar (int,float) vb.
  • Daha “egzotik” tipler için doğrulama:

    • URL.
    • Email.
    • UUID.
    • ...ve diğerleri.

Tüm doğrulama köklü ve sağlamPydantic tarafından yapılır.

Güvenlik ve Kimlik Doğrulama

Güvenlik ve kimlik doğrulama entegredir. Veritabanları veya veri modelleriyle ilgili hiçbir taviz yoktur.

OpenAPI’da tanımlanan tüm güvenlik şemaları, şunlar dâhil:

  • HTTP Basic.
  • OAuth2 (ayrıcaJWT token’larla). Şu eğitime göz atın:OAuth2 with JWT.
  • API anahtarları:
    • Header’larda.
    • Query parametrelerinde.
    • Cookie’lerde vb.

Buna ek olarak Starlette’in tüm güvenlik özellikleri (session cookies dâhil).

Tümü, sistemleriniz, veri depolarınız, ilişkisel ve NoSQL veritabanlarınız vb. ile kolayca entegre edilebilen, yeniden kullanılabilir araçlar ve bileşenler olarak inşa edilmiştir.

Dependency Injection

FastAPI, son derece kolay kullanımlı ama son derece güçlü birDependency Injection sistemine sahiptir.

  • Bağımlılıkların da kendi bağımlılıkları olabilir; böylece bir hiyerarşi veyabağımlılıklar "grafı" oluşur.
  • Tüm süreç framework tarafındanotomatik olarak yönetilir.
  • Tüm bağımlılıklar, request’lerden veri talep edebilir vepath operation kısıtlarını ve otomatik dokümantasyonuzenginleştirebilir.
  • Bağımlılıklarda tanımlananpath operation parametreleri için bileotomatik doğrulama.
  • Karmaşık kullanıcı kimlik doğrulama sistemleri,veritabanı bağlantıları vb. için destek.
  • Veritabanları, frontend’ler vb. iletaviz yok; ancak hepsiyle kolay entegrasyon.

Sınırsız "Plug-in"

Başka bir deyişle, onlara gerek yok; ihtiyaç duyduğunuz kodu import edin ve kullanın.

Her entegrasyon (bağımlılıklar ile) o kadar basit olacak şekilde tasarlanmıştır ki, uygulamanız için,path operations ile kullandığınız aynı yapı ve söz dizimiyle sadece 2 satırda bir “plug-in” yazabilirsiniz.

Test Edildi

  • %100test kapsayıcılığı.
  • %100type annotated kod tabanı.
  • Üretimde kullanılan uygulamalarda kullanılıyor.

Starlette Özellikleri

FastAPI,Starlette ile tamamen uyumludur (ve onun üzerine kuruludur). Dolayısıyla elinizdeki ek Starlette kodları da çalışır.

FastAPI aslındaStarlette’in bir alt sınıfıdır. Starlette’i zaten biliyor veya kullanıyorsanız, işlevlerin çoğu aynı şekilde çalışır.

FastAPI ileStarlette’in tüm özelliklerini elde edersiniz (FastAPI, steroid basılmış Starlette gibidir):

Pydantic Özellikleri

FastAPI,Pydantic ile tamamen uyumludur (ve onun üzerine kuruludur). Dolayısıyla elinizdeki ek Pydantic kodları da çalışır.

Pydantic’e dayanan harici kütüphaneler de dâhildir; veritabanları içinORM’ler,ODM’ler gibi.

Bu aynı zamanda, birçok durumda request’ten aldığınız nesneyidoğrudan veritabanına iletebileceğiniz anlamına gelir; zira her şey otomatik olarak doğrulanır.

Tersi yönde de geçerlidir; birçok durumda veritabanından aldığınız nesneyidoğrudan client’a gönderebilirsiniz.

FastAPI ilePydantic’in tüm özelliklerini elde edersiniz (FastAPI, tüm veri işlemede Pydantic’e dayanır):


[8]ページ先頭

©2009-2026 Movatter.jp