TestNew/from header | Version from Accept-Version header | Extracts version “v2” from header |
TestNew/from query | Version from query parameter | Extracts version “v3” from ?version=v3 |
TestNew/default version | No version specified | Uses default version “v1” |
TestNew_PathPrefix/v1 | Version from path prefix /v1 | Extracts version “v1” from URL path |
TestNew_PathPrefix/v2 | Version from path prefix /v2 | Extracts version “v2” from URL path |
TestNew_Supported/supported version | Request with supported version | Returns 200 OK |
TestNew_Supported/unsupported version | Request with unsupported version | Returns 400 Bad Request |
TestNew_Deprecated | Request with deprecated version | Sets Deprecation header to “true” |
TestFromHeader | Custom header name (X-API-Version) | Extracts version “2.0” from custom header |
TestFromPath | Path with semantic version (v1.2) | Extracts version “v1.2” from path |
TestFromQuery | Custom query param (api_version) | Extracts version “3.0” from custom param |
TestGet | GetVersion vs Get function | Both functions return same value |
TestIsVersionString/v1 | Valid version string “v1” | Returns true |
TestIsVersionString/v2 | Valid version string “v2” | Returns true |
TestIsVersionString/V1 | Valid uppercase “V1” | Returns true |
TestIsVersionString/v1.0 | Valid with dot “v1.0” | Returns true |
TestIsVersionString/v1.2.3 | Valid semantic “v1.2.3” | Returns true |
TestIsVersionString/api | Invalid string “api” | Returns false |
TestIsVersionString/empty | Empty string | Returns false |
TestIsVersionString/v | Just “v” character | Returns false |
TestIsVersionString/va | Invalid “va” | Returns false |