lilydocs
HTTP APIWebSocketConsumer
Referans4 dk okuma

API referansı ve notlar

Kaynak sürümü, sık yapılan hatalar ve eski dokümanlardan ayrılan davranışlar.

Bu rehber kaynak kodu esas alır. Eski bir belgeyle davranış çelişiyorsa aşağıda belirtilen kaynak sürümünün public API’si geçerlidir.

Kaynak sürümü#

Bu rehber lilyrs 0.1.0 yayınına ve 78ca08b822aa192623c7bcffd90edaf06e4f8e55 kaynak commit’ine dayanır. Yayın ve kaynak inceleme tarihi 18 Eylül 2026’dır. lilyrs ve gerekli bileşen crate’leri crates.io’da yayımlanmıştır. Manifestin Rust alt sınırı ve doğrulanan toolchain’i 1.96.1, edition’ı 2024’tür.

Kurulumun ana yolu lilyrs = { version = "0.1.0", features = ["http-api"] } bağımlılığıdır. Public kaynak lily-platform/lilyrs, sürüme ait API referansı docs.rs üzerindedir. Doğrudan bileşen crate’leri de yayımlanmıştır; bu rehber uygulama örneklerinde facade yolunu kullanır.

Crates.io yayını, kaynak incelemesi ve uygulama testleri ayrı kanıtlardır. Eski checkout üzerinde alınan sonuçlar yeni örneklerin test sonucu olarak sunulmaz; güncel doğrulama kapsamı test sayfasında açıklanır.

Sık yapılan hatalar#

Yanlış varsayım Doğru kullanım
build socket açar Listener start sırasında açılır
Controller request başına oluşur Uygulama ömürlüdür; Scoped servis action’da alınır
guard(instance) bütün route’ları korur Action’da guard attribute’u gerekir
Result<String, E> düz metindir JSON string’dir; PlainText açık metin içindir
Result<(), E> otomatik 204’tür NoContent kullanın
DI kaydı runtime’da elle eklenir Injectable link-time kayıt üretir
Middleware after kodu stream’in sonudur Lazy response daha sonra tamamlanabilir
Cache entegrasyonu response caching açar HTTP cache politikası uygulamaya aittir
OpenAPI security auth yapar Gerçek kontrol guard ile yapılır
detached() Mongo timeout’unu korur Configured operation context kullanın
Upload dosyayı saklar Parsing hazırdır; persistence uygulamaya aittir
lilyrs = "0.1.0" HTTP’yi açar http-api feature’ını seçin
http-api bütün facade modüllerini açar DI framework kökündedir; bağımsız lilyrs::injection için injection gerekir
Base ve factory feature’ları birleştirilir İlgili base yerine *-factory seçin; --all-features kullanmayın

Eski belgelerle farklar#

C01 — Başlangıç API’si; kapatıldı. 14 Eylül incelemesindeki eski akinci_core ve senkron builder örneği yeni kök README’de bulunmuyor. Güncel uygulama girişi lilyrs::http_api; builder adres alan new(&str) veya default, ardından async build/start kullanır. Bu kayıt güncel README’ye yönelik açık bir hata değildir.

C02 — Crate adları; kapatıldı. Yeni kök README Lilyrs facade’ini ve güncel bileşenleri anlatıyor; önceki akinci_* mimari listesi kaldırılmış. Bu site HTTP API, WebSocket ve Consumer ürün ayrımını korur. Cache paketinin yeni adı lily_redis, Mongo repository paketinin adı lily_mongo_repository’dir; uygulama örnekleri lilyrs::redis ve lilyrs::mongodb üzerinden erişir.

C03 — Global middleware tekrarı; kapsam açıklaması. Güncel HTTP README’deki tekrar reddi, controller/action attribute’ları bağlamındadır. Controller/action birleşik listesinde aynı middleware türü reddedilir. Global middleware::<M>() ise sırayla kayıt toplar; descriptor doğrulaması tür adını değil exclusive key çakışmasını denetler. Bu iki kapsamı birleştirerek bütün global tekrarların reddedildiğini varsaymayın. Her global türü bir kez kaydedin. Önceki incelemenin iki constructor çağrısını gözleyen probe’u tarihsel kanıttır; bu yayın güncellemesinde yeniden çalıştırıldığı iddia edilmez.

C04 — Mongo operation context; devam ediyor. Mongo lib.rs service örneği hâlâ detached() kullanırken operational anlatım configured context önerir. detached() deadline içermez. Bu rehber request işlemlerinde DatabaseService::operation_context(token) ve açık cancellation köprüsünü kullanır.

Eski incelemenin kanıtları tarihsel docs/lily-http-api-analiz.md dosyasında korunur. Bu sınıflandırma yayımlanan sürümün kaynaklarına göre yenilenmiştir; framework kaynak kodunda değişiklik yapılmamıştır.

Hazır API ile uygulama tarifini ayırma#

Lily’nin HTTP yüzeyinde guard/middleware, DI, CORS, CSRF, cookie, typed extraction, file/stream/SSE ve OpenAPI vardır. Token verifier, session store, HTTP rate-limit bağlaması, Swagger UI ve health endpoint politikası uygulama tarafından kurulur.

NestJS’deki modules, pipes, interceptors, exception filters, Passport/JWT module, otomatik versioning veya cron adları aynı API’lerle Lily’de varmış gibi kullanılmaz. Benzer davranış gerekiyorsa Lily’nin doğrulanan genişletme noktaları üzerinden kurulmalıdır.

Örnekler#

İlk uygulama, DI, middleware, auth, cookie, CSRF, dosya ve SSE, OpenAPI, background worker, HTTP hatası, typed request, PostgreSQL transaction, PgRepository, MongoDB ve rate limit kodları indirilebilir.

Bunlar sayfalarda kullanılan öğretim modülleridir. İlgili dependency/config ve dış servis gereksinimleri her sayfada belirtilir. Hepsini aynı binary’ye kopyalamak OpenAPI kapsamı veya route kaydı çakışmaları oluşturabilir; konuya ait örneği seçin.

Bu sayfanın kaynakları v0.1.0

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

HIZLI BAŞLANGIÇ
Dokümantasyon
Kaynak kod