mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Fix file extension resolution for media types with q parameter
Prior to this commit, the `MappingMediaTypeFileExtensionResolver` would resolve file extensions for a given media type by using a direct lookup using the given media type provided by the request. If the request contains a quality parameter like "application/json;q=0.9", this would not resolve configured file extensions for this media type. While other media type parameters can be meaningful, the quality parameter should not be used for lookups. This commit ensures that the quality parameter is dropped before performing lookups. Fixes gh-35754
This commit is contained in:
+8
@@ -53,6 +53,14 @@ class MappingMediaTypeFileExtensionResolverTests {
|
||||
.resolveFileExtensions(MediaType.TEXT_HTML)).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
void resolveExtensionsWithQualityParameter() {
|
||||
List<String> extensions = new MappingMediaTypeFileExtensionResolver(DEFAULT_MAPPINGS)
|
||||
.resolveFileExtensions(MediaType.parseMediaType("application/json;q=0.9"));
|
||||
|
||||
assertThat(extensions).containsExactly("json");
|
||||
}
|
||||
|
||||
@Test // SPR-13747
|
||||
public void lookupMediaTypeCaseInsensitive() {
|
||||
assertThat(new MappingMediaTypeFileExtensionResolver(DEFAULT_MAPPINGS).lookupMediaType("JSON"))
|
||||
|
||||
Reference in New Issue
Block a user