pub struct Message {
pub name: Option<String>,
pub title: Option<String>,
pub summary: Option<String>,
pub description: Option<String>,
pub content_type: Option<String>,
pub payload: Option<Schema>,
}Expand description
Message definition
Represents a message that can be sent or received through a channel. Messages describe the structure, content type, and documentation for data exchanged in asynchronous communication.
§Example
use asyncapi_rust_models::{Message, Schema, SchemaObject};
use std::collections::HashMap;
let message = Message {
name: Some("ChatMessage".to_string()),
title: Some("Chat Message".to_string()),
summary: Some("A message in a chat room".to_string()),
description: Some("Sent when a user posts a message".to_string()),
content_type: Some("application/json".to_string()),
payload: Some(Schema::Object(Box::new(SchemaObject {
schema_type: Some(serde_json::json!("object")),
properties: None,
required: None,
description: Some("Chat message payload".to_string()),
title: None,
enum_values: None,
const_value: None,
items: None,
additional_properties: None,
one_of: None,
any_of: None,
all_of: None,
additional: HashMap::new(),
}))),
};Fields§
§name: Option<String>Message name
A machine-readable identifier for the message (e.g., “ChatMessage”, “user.join”)
title: Option<String>Message title
A human-readable title for the message
summary: Option<String>Message summary
A short summary of what the message is for
description: Option<String>Message description
A detailed description of the message’s purpose and usage
content_type: Option<String>Content type (e.g., “application/json”)
The MIME type of the message payload. Common values:
- “application/json” (default for text messages)
- “application/octet-stream” (binary data)
- “application/x-protobuf” (Protocol Buffers)
- “application/x-msgpack” (MessagePack)
payload: Option<Schema>Message payload schema
JSON Schema defining the structure of the message payload
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Message, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Message, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for Message
impl Serialize for Message
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnwindSafe for Message
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more