Expand description
API versioning patterns.
Supports three strategies for API version negotiation:
- URL prefix:
/v1/users,/v2/users - Header:
X-API-Version: 1 - Accept header:
application/vnd.myapi.v1+json
§Example
use fastapi_core::versioning::{ApiVersion, VersionStrategy, VersionConfig};
let config = VersionConfig::new()
.strategy(VersionStrategy::UrlPrefix)
.current(2)
.supported(&[1, 2])
.deprecated(&[1]);
let v = ApiVersion::from_path("/v1/users");
assert_eq!(v, Some(ApiVersion(1)));
assert!(config.is_deprecated(&ApiVersion(1)));Structs§
- ApiVersion
- An API version number.
- Version
Config - Configuration for API versioning.
Enums§
- Version
Strategy - Strategy for extracting the API version from a request.