Skip to main content

Multipart

Derive Macro Multipart 

Source
#[derive(Multipart)]
{
    // Attributes available to this derive:
    #[serde]
    #[form_data]
    #[try_from_multipart]
}
Expand description

Derive macro for Multipart with serde attribute support.

This is vespera’s re-implementation of axum_typed_multipart’s derive macro that natively supports #[serde(rename_all)] and #[serde(rename)] for field name resolution in multipart form data.

§Supported Attributes

Struct-level:

  • #[serde(rename_all = "camelCase")] — rename all fields (highest priority)
  • #[try_from_multipart(rename_all = "camelCase")] — fallback rename
  • #[try_from_multipart(strict)] — reject unknown/duplicate fields

Field-level:

  • #[form_data(field_name = "...")] — explicit field name override
  • #[serde(rename = "...")] — serde field rename
  • #[form_data(limit = "10MiB")] — field size limit
  • #[form_data(default)] — use Default::default() when missing