public class ContentNegotiationManager extends Object implements ContentNegotiationStrategy, MediaTypeFileExtensionResolver
HeaderContentNegotiationStrategy
 will be configured by default.
 This class may also be used to look up file extensions associated with a
 MediaType. This is done by consulting the list of configured
 MediaTypeFileExtensionResolver instances. Note that some
 ContentNegotiationStrategy implementations also implement
 MediaTypeFileExtensionResolver and the class constructor accepting the former
 will also detect if they implement the latter. If you need to register additional
 resolvers, you can use the method
 addFileExtensionResolvers(MediaTypeFileExtensionResolver...).
| Constructor and Description | 
|---|
ContentNegotiationManager()
Create a default instance with a  
HeaderContentNegotiationStrategy. | 
ContentNegotiationManager(Collection<ContentNegotiationStrategy> strategies)
Create an instance with the given ContentNegotiationStrategy instances. 
 | 
ContentNegotiationManager(ContentNegotiationStrategy... strategies)
Create an instance with the given ContentNegotiationStrategy instances. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addFileExtensionResolvers(MediaTypeFileExtensionResolver... resolvers)
Add MediaTypeFileExtensionResolver instances. 
 | 
List<String> | 
getAllFileExtensions()
Delegate to all configured MediaTypeFileExtensionResolver instances and aggregate
 the list of all known file extensions. 
 | 
List<ContentNegotiationStrategy> | 
getStrategies()
Return the configured content negotiation strategies. 
 | 
List<String> | 
resolveFileExtensions(MediaType mediaType)
Delegate to all configured MediaTypeFileExtensionResolver instances and aggregate
 the list of all file extensions found. 
 | 
List<MediaType> | 
resolveMediaTypes(NativeWebRequest webRequest)
Delegate to all configured ContentNegotiationStrategy instances until one
 returns a non-empty list. 
 | 
public ContentNegotiationManager(ContentNegotiationStrategy... strategies)
Each instance is checked to see if it is also an implementation of MediaTypeFileExtensionResolver, and if so it is registered as such.
strategies - one more more ContentNegotiationStrategy instancespublic ContentNegotiationManager(Collection<ContentNegotiationStrategy> strategies)
Each instance is checked to see if it is also an implementation of MediaTypeFileExtensionResolver, and if so it is registered as such.
strategies - one more more ContentNegotiationStrategy instancespublic ContentNegotiationManager()
HeaderContentNegotiationStrategy.public List<ContentNegotiationStrategy> getStrategies()
public void addFileExtensionResolvers(MediaTypeFileExtensionResolver... resolvers)
Note that some ContentNegotiationStrategy implementations also
 implement MediaTypeFileExtensionResolver and the class constructor
 accepting the former will also detect implementations of the latter. Therefore
 you only need to use this method to register additional instances.
resolvers - one or more resolverspublic List<MediaType> resolveMediaTypes(NativeWebRequest webRequest) throws HttpMediaTypeNotAcceptableException
resolveMediaTypes in interface ContentNegotiationStrategywebRequest - the current requestnullHttpMediaTypeNotAcceptableException - if the requested media types cannot be parsedpublic List<String> resolveFileExtensions(MediaType mediaType)
resolveFileExtensions in interface MediaTypeFileExtensionResolvermediaType - the media type to resolvenullpublic List<String> getAllFileExtensions()
getAllFileExtensions in interface MediaTypeFileExtensionResolvernull