diff --git a/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java index 0bbe671083..f66a38bf19 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java @@ -265,10 +265,12 @@ public class FormHttpMessageConverter implements HttpMessageConverter> entry : parts.entrySet()) { String name = entry.getKey(); for (Object part : entry.getValue()) { - writeBoundary(boundary, os); - HttpEntity entity = getEntity(part); - writePart(name, entity, os); - writeNewLine(os); + if (part != null) { + writeBoundary(boundary, os); + HttpEntity entity = getEntity(part); + writePart(name, entity, os); + writeNewLine(os); + } } } } diff --git a/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java b/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java index 2344269b63..0792d6c6a8 100644 --- a/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java +++ b/spring-web/src/test/java/org/springframework/http/converter/FormHttpMessageConverterTests.java @@ -112,6 +112,7 @@ public class FormHttpMessageConverterTests { parts.add("name 1", "value 1"); parts.add("name 2", "value 2+1"); parts.add("name 2", "value 2+2"); + parts.add("name 3", null); Resource logo = new ClassPathResource("/org/springframework/http/converter/logo.jpg"); parts.add("logo", logo);