Class DefaultApiVersionStrategy
java.lang.Object
org.springframework.web.accept.DefaultApiVersionStrategy
- All Implemented Interfaces:
 ApiVersionStrategy
Default implementation of 
ApiVersionStrategy that delegates to the
 configured version resolvers and version parser.- Since:
 - 7.0
 - Author:
 - Rossen Stoyanchev
 
- 
Constructor Summary
ConstructorsConstructorDescriptionDefaultApiVersionStrategy(List<ApiVersionResolver> versionResolvers, ApiVersionParser<?> versionParser, boolean versionRequired, @Nullable String defaultVersion) Create an instance. - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddSupportedVersion(String... versions) Add to the list of known, supported versions to check against inApiVersionStrategy.validateVersion(java.lang.Comparable<?>, jakarta.servlet.http.HttpServletRequest).Return a default version to use for requests that don't specify one.Comparable<?> parseVersion(String version) Parse the version of a request into an Object.resolveVersion(HttpServletRequest request) Resolve the version value from a request, e.g.toString()voidvalidateVersion(@Nullable Comparable<?> requestVersion, HttpServletRequest request) Validate a request version, including required and supported version checks. 
- 
Constructor Details
- 
DefaultApiVersionStrategy
public DefaultApiVersionStrategy(List<ApiVersionResolver> versionResolvers, ApiVersionParser<?> versionParser, boolean versionRequired, @Nullable String defaultVersion) Create an instance.- Parameters:
 versionResolvers- one or more resolvers to try; the first non-null value returned by any resolver becomes the value usedversionParser- parser for raw version valuesversionRequired- whether a version is required; if a request does not have a version, and adefaultVersionis not specified, validation fails withMissingApiVersionExceptiondefaultVersion- a default version to assign to requests that don't specify one
 
 - 
 - 
Method Details
- 
getDefaultVersion
Description copied from interface:ApiVersionStrategyReturn a default version to use for requests that don't specify one.- Specified by:
 getDefaultVersionin interfaceApiVersionStrategy
 - 
addSupportedVersion
Add to the list of known, supported versions to check against inApiVersionStrategy.validateVersion(java.lang.Comparable<?>, jakarta.servlet.http.HttpServletRequest). Request versions that are not in the supported result inInvalidApiVersionExceptioninApiVersionStrategy.validateVersion(java.lang.Comparable<?>, jakarta.servlet.http.HttpServletRequest).- Parameters:
 versions- the versions to add
 - 
resolveVersion
Description copied from interface:ApiVersionStrategyResolve the version value from a request, e.g. from a request header.- Specified by:
 resolveVersionin interfaceApiVersionStrategy- Parameters:
 request- the current request- Returns:
 - the version, if present or 
null 
 - 
parseVersion
Description copied from interface:ApiVersionStrategyParse the version of a request into an Object.- Specified by:
 parseVersionin interfaceApiVersionStrategy- Parameters:
 version- the value to parse- Returns:
 - an Object that represents the version
 
 - 
validateVersion
public void validateVersion(@Nullable Comparable<?> requestVersion, HttpServletRequest request) throws MissingApiVersionException, InvalidApiVersionException Description copied from interface:ApiVersionStrategyValidate a request version, including required and supported version checks.- Specified by:
 validateVersionin interfaceApiVersionStrategy- Parameters:
 requestVersion- the version to validaterequest- the request- Throws:
 MissingApiVersionException- if the version is required, but not specifiedInvalidApiVersionException- if the version is not supported
 - 
toString
 
 -