lilydocs
HTTP APIWebSocketConsumer
API sözleşmesi2 dk okuma

AsyncAPI metadata

Controller ve action açıklamalarını metadata ile kaydedin; bu sürümdeki belge üretimi sınırını görünür tutun.

Lily WebSocket asyncapi(...) attribute'larıyla controller ve operation metadata'sı kaydeder. Bu sürümde hazır AsyncAPI JSON üreticisi, yayın endpoint'i veya UI bulunmaz.

Açıklama ekleyin#

Metadata yerleşimi
#[derive(WebSocketController)]
#[namespace("orders")]
#[asyncapi(tag = "orders", summary = "Sipariş mesajları")]
struct OrdersController;

#[websocket_controller]
impl OrdersController {
    #[message("changed")]
    #[asyncapi(
        documented,
        summary = "Sipariş değişti",
        description = "Doğrulanmış kullanıcının sipariş bildirimi",
        operation_id = "orderChanged",
        security = "session",
        deprecated = false
    )]
    async fn changed(&self) -> Result<NoReply, WebSocketActionError> {
        Ok(NoReply)
    }
}

Bu parça metadata yerleşimini gösterir; controller constructor ve facade import'larını ekleyin. Derlenmiş tam metadata örneği TechniquesController dosyasında bulunur. Açıklamalar uygulamanın gerçek action davranışını anlatmalıdır.

Desteklenen alanlar#

Alan Kullanım
documented Belgelenmiş olarak işaretle
skip Belge kapsamı dışında işaretle
tag, security Tekrarlanabilen sınıflama ve security metadata'sı
summary, description Kısa ve ayrıntılı açıklama
operation_id Operasyon kimliği
deprecated Kullanımdan kaldırılma bilgisi

Skip ile belgeleme alanları birlikte kullanılamaz. Duplicate scalar veya çelişkili metadata compile-time hatasıdır. Kayıt Unspecified, Documented, Skipped durumlarını taşır.

Enforcement eklemez#

security = "session" identity veya guard kurmaz. Authentication ve authorization ayrıca uygulanır. Metadata'da bir özelliği yazmak wire protokolünü veya çalışma davranışını değiştirmez.

Belge üretimi sınırı#

Public AsyncApiService, builder publish ayarı, DTO'dan tam schema export'u veya hazır belge endpoint'i yoktur. HTTP OpenAPI akışını birebir bu crate'e taşımayın. Bu sayfanın adı bu nedenle AsyncAPI metadata'dır.

Uygulama sözleşmesini açıklayan metadata'yı şimdiden tutabilirsiniz. Tam generator/export istenirse ayrıca desteklenen bir framework geliştirmesi gerekir; private registration yapılarını kullanarak varsayımsal public API üretmeyin.

Bu sayfanın kaynakları v0.1.0

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

HIZLI BAŞLANGIÇ
Dokümantasyon
Kaynak kod