Class EncodedResourceResolver
- All Implemented Interfaces:
ResourceResolver
The list of supported contentCodings can
be configured, in order of preference, and each coding must be associated
with extensions.
Note that this resolver must be ordered ahead of a
VersionResourceResolver with a content-based, version strategy to
ensure the version calculation is not impacted by the encoding.
- Since:
- 5.1
- Author:
- Rossen Stoyanchev
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe default content codings.Fields inherited from class org.springframework.web.servlet.resource.AbstractResourceResolver
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturn a read-only list with the supported content codings.Return a read-only map with coding-to-extension mappings.voidregisterExtension(String coding, String extension) Java config friendly alternative tosetExtensions(Map).protected ResourceresolveResourceInternal(HttpServletRequest request, String requestPath, List<? extends Resource> locations, ResourceResolverChain chain) protected StringresolveUrlPathInternal(String resourceUrlPath, List<? extends Resource> locations, ResourceResolverChain chain) voidsetContentCodings(List<String> codings) Configure the supported content codings in order of preference.voidsetExtensions(Map<String, String> extensions) Configure mappings from content codings to file extensions.Methods inherited from class org.springframework.web.servlet.resource.AbstractResourceResolver
resolveResource, resolveUrlPath
-
Field Details
-
DEFAULT_CODINGS
The default content codings.
-
-
Constructor Details
-
EncodedResourceResolver
public EncodedResourceResolver()
-
-
Method Details
-
setContentCodings
Configure the supported content codings in order of preference. The first coding that is present in the "Accept-Encoding" header for a given request, and that has a file present with the associated extension, is used.Note: Each coding must be associated with a file extension via
registerExtension(java.lang.String, java.lang.String)orsetExtensions(java.util.Map<java.lang.String, java.lang.String>). Also customizations to the list of codings here should be matched by customizations to the same list inCachingResourceResolverto ensure encoded variants of a resource are cached under separate keys.By default this property is set to ["br", "gzip"].
- Parameters:
codings- one or more supported content codings
-
getContentCodings
Return a read-only list with the supported content codings. -
setExtensions
Configure mappings from content codings to file extensions. A dot "." will be prepended in front of the extension value if not present.By default this is configured with ["br" -> ".br"] and ["gzip" -> ".gz"].
- Parameters:
extensions- the extensions to use.- See Also:
-
getExtensions
Return a read-only map with coding-to-extension mappings. -
registerExtension
Java config friendly alternative tosetExtensions(Map).- Parameters:
coding- the content codingextension- the associated file extension
-
resolveResourceInternal
@Nullable protected Resource resolveResourceInternal(@Nullable HttpServletRequest request, String requestPath, List<? extends Resource> locations, ResourceResolverChain chain) - Specified by:
resolveResourceInternalin classAbstractResourceResolver
-
resolveUrlPathInternal
@Nullable protected String resolveUrlPathInternal(String resourceUrlPath, List<? extends Resource> locations, ResourceResolverChain chain) - Specified by:
resolveUrlPathInternalin classAbstractResourceResolver
-