@ -95,7 +95,7 @@ public class MappingMediaTypeFileExtensionResolver implements MediaTypeFileExten
@Override
public List<String> resolveFileExtensions(MediaType mediaType) {
List<String> fileExtensions = this.fileExtensions.get(mediaType);
List<String> fileExtensions = this.fileExtensions.get(mediaType.removeQualityValue());
return (fileExtensions != null ? fileExtensions : Collections.emptyList());
}
@ -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"))