Expand description
API versioning types.
ApiVersion supports three versioning schemes used in practice:
- Simple integer (
v1,v2, …) — internal/private APIs - Semver (
1.2.3) — SDK-coupled APIs - Date-based (
2024-06-01) — Stripe/Cloudflare style public APIs
§Example
use api_bones::version::ApiVersion;
use core::str::FromStr;
let v: ApiVersion = "v3".parse().unwrap();
assert_eq!(v.to_string(), "v3");
let v: ApiVersion = "1.2.3".parse().unwrap();
assert_eq!(v.to_string(), "1.2.3");
let v: ApiVersion = "2024-06-01".parse().unwrap();
assert_eq!(v.to_string(), "2024-06-01");Structs§
- ApiVersion
Parse Error - Error returned when an
ApiVersionstring cannot be parsed. - Semver
Triple - Semantic version triple
(major, minor, patch).
Enums§
- ApiVersion
- An API version that supports three common schemes.
Constants§
- ACCEPT_
VERSION - Header name for the requested API version (
Accept-Version). - CONTENT_
VERSION - Header name for the version the response was produced with (
Content-Version).