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#
#[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.