The check for an empty request body InputStream is now in the base
class AbstractMessageConverterMethodArgumentResolver shared for
all arguments that involve reading with an HttpMessageConverter --
@RequestBody, @RequestPart, and HttpEntity.
When an empty body is detected any configured RequestBodyAdvice is
given a chance to select a default value or leave it as null.
Issue: SPR-12778, SPR-12860, SPR-12861
@ -135,9 +141,8 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@@ -135,9 +141,8 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@ -165,6 +170,9 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@@ -165,6 +170,9 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@ -173,9 +181,16 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@@ -173,9 +181,16 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
if(logger.isDebugEnabled()){
logger.debug("Read ["+targetType+"] as \""+contentType+"\" with ["+converter+"]");
@ -183,14 +198,25 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@@ -183,14 +198,25 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
if(logger.isDebugEnabled()){
logger.debug("Read ["+targetType+"] as \""+contentType+"\" with ["+converter+"]");
@ -240,4 +266,47 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@@ -240,4 +266,47 @@ public abstract class AbstractMessageConverterMethodArgumentResolver implements
@ -120,8 +122,9 @@ public class HttpEntityMethodProcessor extends AbstractMessageConverterMethodPro
@@ -120,8 +122,9 @@ public class HttpEntityMethodProcessor extends AbstractMessageConverterMethodPro
@ -146,43 +144,14 @@ public class RequestResponseBodyMethodProcessor extends AbstractMessageConverter
@@ -146,43 +144,14 @@ public class RequestResponseBodyMethodProcessor extends AbstractMessageConverter
@ -81,7 +81,6 @@ public class RequestResponseBodyMethodProcessorMockTests {
@@ -81,7 +81,6 @@ public class RequestResponseBodyMethodProcessorMockTests {
privateMockHttpServletRequestservletRequest;
privateMockHttpServletResponseservletResponse;
@SuppressWarnings("unchecked")
@Before
@ -103,8 +102,7 @@ public class RequestResponseBodyMethodProcessorMockTests {
@@ -103,8 +102,7 @@ public class RequestResponseBodyMethodProcessorMockTests {
@ -154,7 +152,7 @@ public class RequestResponseBodyMethodProcessorMockTests {
@@ -154,7 +152,7 @@ public class RequestResponseBodyMethodProcessorMockTests {
@ -189,6 +187,7 @@ public class RequestResponseBodyMethodProcessorMockTests {
@@ -189,6 +187,7 @@ public class RequestResponseBodyMethodProcessorMockTests {
fail("Expected exception");
}
catch(HttpMediaTypeNotSupportedExceptionex){
// expected
}
}
@ -212,7 +211,9 @@ public class RequestResponseBodyMethodProcessorMockTests {
@@ -212,7 +211,9 @@ public class RequestResponseBodyMethodProcessorMockTests {
@ -293,23 +294,28 @@ public class RequestResponseBodyMethodProcessorMockTests {
@@ -293,23 +294,28 @@ public class RequestResponseBodyMethodProcessorMockTests {