public class ContentNegotiationManager extends Object implements ContentNegotiationStrategy, MediaTypeFileExtensionResolver
ContentNegotiationStrategy instances.
 Also provides methods to look up file extensions for a media type.
 This is done by delegating to the list of configured
 MediaTypeFileExtensionResolver instances.
| Constructor and Description | 
|---|
ContentNegotiationManager()
Create a default instance with a  
HeaderContentNegotiationStrategy. | 
ContentNegotiationManager(Collection<ContentNegotiationStrategy> strategies)
A collection-based alternative to
  
ContentNegotiationManager(ContentNegotiationStrategy...). | 
ContentNegotiationManager(ContentNegotiationStrategy... strategies)
Create an instance with the given list of
  
ContentNegotiationStrategy strategies each of which may also be
 an instance of MediaTypeFileExtensionResolver. | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addFileExtensionResolvers(MediaTypeFileExtensionResolver... resolvers)
Register more  
MediaTypeFileExtensionResolver instances in addition
 to those detected at construction. | 
List<String> | 
getAllFileExtensions()
Return all registered file extensions. 
 | 
List<ContentNegotiationStrategy> | 
getStrategies()
Return the configured content negotiation strategies. 
 | 
<T extends ContentNegotiationStrategy> | 
getStrategy(Class<T> strategyType)
Find a  
ContentNegotiationStrategy of the given type. | 
List<String> | 
resolveFileExtensions(MediaType mediaType)
Resolve the given media type to a list of path extensions. 
 | 
List<MediaType> | 
resolveMediaTypes(NativeWebRequest request)
Resolve the given request to a list of media types. 
 | 
public ContentNegotiationManager(ContentNegotiationStrategy... strategies)
ContentNegotiationStrategy strategies each of which may also be
 an instance of MediaTypeFileExtensionResolver.strategies - the strategies to usepublic ContentNegotiationManager(Collection<ContentNegotiationStrategy> strategies)
ContentNegotiationManager(ContentNegotiationStrategy...).strategies - the strategies to usepublic ContentNegotiationManager()
HeaderContentNegotiationStrategy.public List<ContentNegotiationStrategy> getStrategies()
public <T extends ContentNegotiationStrategy> T getStrategy(Class<T> strategyType)
ContentNegotiationStrategy of the given type.strategyType - the strategy typenull if nonepublic void addFileExtensionResolvers(MediaTypeFileExtensionResolver... resolvers)
MediaTypeFileExtensionResolver instances in addition
 to those detected at construction.resolvers - the resolvers to addpublic List<MediaType> resolveMediaTypes(NativeWebRequest request) throws HttpMediaTypeNotAcceptableException
ContentNegotiationStrategyresolveMediaTypes in interface ContentNegotiationStrategyrequest - the current requestnull)HttpMediaTypeNotAcceptableException - if the requested media
 types cannot be parsedpublic List<String> resolveFileExtensions(MediaType mediaType)
MediaTypeFileExtensionResolverresolveFileExtensions in interface MediaTypeFileExtensionResolvermediaType - the media type to resolvenull)public List<String> getAllFileExtensions()
At startup this method returns extensions explicitly registered with
 either PathExtensionContentNegotiationStrategy or
 ParameterContentNegotiationStrategy. At runtime if there is a
 "path extension" strategy and its
 useJaf property is set to "true", the list of extensions may
 increase as file extensions are resolved via JAF and cached.
getAllFileExtensions in interface MediaTypeFileExtensionResolvernull)