Module rocket::serde::uuid

source ·
Available on crate feature uuid only.
Expand description

UUID path/query parameter and form value parsing support.


This module is only available when the uuid feature is enabled. Enable it in Cargo.toml as follows:

version = "0.6.0-dev"
features = ["uuid"]


Uuid implements FromParam and FromFormField (i.e, FromForm), allowing UUID values to be accepted directly in paths, queries, and forms. You can use the Uuid type directly as a target of a dynamic parameter:

use rocket::serde::uuid::Uuid;

fn user(id: Uuid) -> String {
    format!("We found: {}", id)

You can also use the Uuid as a form value, including in query strings:

use rocket::serde::uuid::Uuid;

fn user(id: Uuid) -> String {
    format!("User ID: {}", id)

Additionally, Uuid implements UriDisplay<P> for all P. As such, route URIs including Uuids can be generated in a type-safe manner:

use rocket::serde::uuid::Uuid;
use rocket::response::Redirect;

fn user(id: Uuid) -> String {
    format!("User ID: {}", id)

fn old_user_path(id: Uuid) -> Redirect {

§Extra Features

The uuid crate exposes extra v{n} features for generating UUIDs which are not enabled by Rocket. To enable these features, depend on uuid directly. The extra functionality can be accessed via both rocket::serde::uuid::Uuid or the direct uuid::Uuid; the types are one and the same.

version = "1"
features = ["v1", "v4"]


  • Adapters for alternative string formats.


  • Parse Uuids from string literals at compile time.



  • The reserved variants of UUIDs.
  • The version of the UUID, denoting the generating algorithm.

Type Aliases§

  • A 128-bit (16 byte) buffer containing the UUID.