diff --git a/org.springframework.web/src/main/java/org/springframework/http/MediaType.java b/org.springframework.web/src/main/java/org/springframework/http/MediaType.java index f9021b4b25..3a36d89b03 100644 --- a/org.springframework.web/src/main/java/org/springframework/http/MediaType.java +++ b/org.springframework.web/src/main/java/org/springframework/http/MediaType.java @@ -318,7 +318,9 @@ public class MediaType implements Comparable { * @throws IllegalArgumentException if the string cannot be parsed */ public static List parseMediaTypes(String mediaTypes) { - Assert.hasLength(mediaTypes, "'mediaTypes' must not be empty"); + if (!StringUtils.hasLength(mediaTypes)) { + return Collections.emptyList(); + } String[] tokens = mediaTypes.split(",\\s*"); List result = new ArrayList(tokens.length); for (String token : tokens) { diff --git a/org.springframework.web/src/test/java/org/springframework/http/MediaTypeTests.java b/org.springframework.web/src/test/java/org/springframework/http/MediaTypeTests.java index 9f448f3eda..ce91201497 100644 --- a/org.springframework.web/src/test/java/org/springframework/http/MediaTypeTests.java +++ b/org.springframework.web/src/test/java/org/springframework/http/MediaTypeTests.java @@ -70,6 +70,10 @@ public class MediaTypeTests { List mediaTypes = MediaType.parseMediaTypes(s); assertNotNull("No media types returned", mediaTypes); assertEquals("Invalid amount of media types", 4, mediaTypes.size()); + + mediaTypes = MediaType.parseMediaTypes(null); + assertNotNull("No media types returned", mediaTypes); + assertEquals("Invalid amount of media types", 0, mediaTypes.size()); } @Test