public class WebJarsResourceResolver extends AbstractResourceResolver
ResourceResolver
that delegates to the chain to locate a resource and then
attempts to find a matching versioned resource contained in a WebJar JAR file.
This allows WebJars.org users to write version agnostic paths in their templates,
like <script src="/jquery/jquery.min.js"/>
.
This path will be resolved to the unique version <script src="/jquery/1.2.0/jquery.min.js"/>
,
which is a better fit for HTTP caching and version management in applications.
This also resolves resources for version agnostic HTTP requests "GET /jquery/jquery.min.js"
.
This resolver requires the "org.webjars:webjars-locator" library on classpath, and is automatically registered if that library is present.
logger
Constructor and Description |
---|
WebJarsResourceResolver()
Create a
WebJarsResourceResolver with a default WebJarAssetLocator instance. |
WebJarsResourceResolver(org.webjars.WebJarAssetLocator webJarAssetLocator)
Create a
WebJarsResourceResolver with a custom WebJarAssetLocator instance,
e.g. |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
findWebJarResourcePath(java.lang.String path) |
protected reactor.core.publisher.Mono<Resource> |
resolveResourceInternal(ServerWebExchange exchange,
java.lang.String requestPath,
java.util.List<? extends Resource> locations,
ResourceResolverChain chain) |
protected reactor.core.publisher.Mono<java.lang.String> |
resolveUrlPathInternal(java.lang.String resourceUrlPath,
java.util.List<? extends Resource> locations,
ResourceResolverChain chain) |
resolveResource, resolveUrlPath
public WebJarsResourceResolver()
WebJarsResourceResolver
with a default WebJarAssetLocator
instance.public WebJarsResourceResolver(org.webjars.WebJarAssetLocator webJarAssetLocator)
WebJarsResourceResolver
with a custom WebJarAssetLocator
instance,
e.g. with a custom index.protected reactor.core.publisher.Mono<Resource> resolveResourceInternal(@Nullable ServerWebExchange exchange, java.lang.String requestPath, java.util.List<? extends Resource> locations, ResourceResolverChain chain)
resolveResourceInternal
in class AbstractResourceResolver
protected reactor.core.publisher.Mono<java.lang.String> resolveUrlPathInternal(java.lang.String resourceUrlPath, java.util.List<? extends Resource> locations, ResourceResolverChain chain)
resolveUrlPathInternal
in class AbstractResourceResolver
@Nullable protected java.lang.String findWebJarResourcePath(java.lang.String path)