Skip to main content

extract_path_params

Function extract_path_params 

Source
pub fn extract_path_params(path: &str) -> Vec<ParamInfo>
Expand description

Extract path parameters from a route path pattern.

Parses a path pattern like /users/{id}/posts/{post_id:int} and returns information about each parameter, including its name and type converter.

§Examples

use fastapi_router::{extract_path_params, Converter};

let params = extract_path_params("/users/{id}");
assert_eq!(params.len(), 1);
assert_eq!(params[0].name, "id");
assert!(matches!(params[0].converter, Converter::Str));

// Typed parameters
let params = extract_path_params("/items/{item_id:int}/price/{value:float}");
assert_eq!(params.len(), 2);
assert!(matches!(params[0].converter, Converter::Int));
assert!(matches!(params[1].converter, Converter::Float));

// Wildcard catch-all
let params = extract_path_params("/files/{*path}");
assert_eq!(params.len(), 1);
assert!(matches!(params[0].converter, Converter::Path));