lilydocs
HTTP APIWebSocketConsumer
LILY HTTP API3 dk okuma

Uygulamanıza odaklanın.

Bağımlılıkları ve yaşam döngüsünü Lily yönetsin. Rust ile HTTP uygulamaları geliştirmek için kavramlar, örnekler ve rehberler.

REHBERE BAŞLARKEN

Lily, uygulamanızı controller’lar, servisler ve açıkça seçtiğiniz politikalarla kurmanızı sağlayan bir Rust framework’üdür. Crates.io’daki lilyrs facade’i, http-api feature’ıyla HTTP bileşenini lilyrs::http_api altında sunar. Alttaki lily_http_api, HTTP sunucusunun yanı sıra bu bileşenlerin birlikte çalıştığı uygulamanın yaşam döngüsünü de yönetir.

Bir route’tan fazlası. Servislerin oluşturulması, istek başına kapsam açılması ve kapanışta kaynakların temizlenmesi aynı uygulama modelinin parçalarıdır.

Uygulamanın iki temeli#

Dependency injection. Bağımlılıkları Injectable ile tanımlar, #[inject] ile servislerinize alırsınız. Container, seçtiğiniz yaşam süresine göre nesneleri oluşturur ve kaynaklarını kapatır. Controller action’ları Service<T> ile aktif isteğin kapsamından servis çözer.

Yaşam döngüsü sahipliği. AppBuilder tercihlerinizi toplar. build config’i ve bileşenleri hazırlar. start sunucuyu çalıştırır. Kapanışta Lily yönetilen işleri, istek kaynaklarını ve kendisine ait DI container’ını doğru sırada sonlandırır.

Küçük bir başlangıç#

Controller tanımlandıktan sonra uygulamanın başlatma zinciri şöyledir. Bu parça bir async fonksiyonun içindedir; tam dosya ve bağımlılıklar ilk HTTP uygulaması sayfasındadır.

Uygulamayı başlatma
AppBuilder::new("127.0.0.1:8080")
    .tls_disabled()
    .build().await?
    .start().await?;

build sırasında henüz socket açılmaz. Listener, start ile açılır. Normal start platform sinyallerini de yönetir; Ctrl+C kontrollü kapanışı başlatır.

Nasıl ilerlemeli?#

İlk uygulamanızı çalıştırın. Ardından yaşam döngüsünü ve DI kullanımını öğrenin. HTTP sözleşmesi, güvenlik politikaları, veri erişimi ve uygulamayı çalıştırma konuları bu temel üzerine kurulur.

İhtiyacınız Başlangıç noktası
Bir HTTP endpoint’i oluşturmak Controller ve route’lar
JSON almak, yanıt döndürmek İstek gövdeleri · Yanıtlar
Kimlik ve erişim kontrolü Authentication · Guard’lar
Tarayıcı güvenlik politikaları Cookie’ler · CORS · CSRF
Veritabanına bağlanmak PostgreSQL · MongoDB
Dosya veya canlı veri göndermek Streaming · SSE
API sözleşmesini yayımlamak OpenAPI

Ortak altyapı, üç uygulama türü#

lily_http_api, lily_websocket ve lily_consumer, ortak DI altyapısını kullanır. lily_injection container’ı, lily_injectable_derive kayıt üretimini, lily_injection_registry ise derive ile runtime arasındaki kayıt bağlantısını sağlar. Registry kayıtlarını elle oluşturmanız gerekmez.

Bu rehberin ayrıntılı kapsamı HTTP API’dir. Bağlantı ve mesaj uygulamaları için WebSocket rehberine geçebilirsiniz. Mesaj tüketen uygulamalar için Consumer rehberini izleyebilirsiniz.

Rehberdeki destek türleri#

Yerleşik destek, framework’ün sunduğu davranıştır: routing, middleware, cookie, CORS ve OpenAPI gibi. Entegrasyon, PostgreSQL veya MongoDB gibi ek bir Lily crate’iyle gelir. Uygulama tarifi, sizin politikanızı hazır genişletme noktalarına bağlar: token doğrulama, session store seçimi ve HTTP rate limiting gibi.

Rehber kaynak kodda doğrulanan 0.1.0 API yüzeyine dayanır. Kaynak sürümü, örneklerin doğrulama kapsamı ve eski belgelerle farklar referansta bulunur.

Bu sayfanın kaynakları v0.1.0

Anlatım, incelenen framework commit’ine dayanır.

HIZLI BAŞLANGIÇ
Dokümantasyon
Kaynak kod