diff --git a/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBean.java b/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBean.java index 8b805802d2..b05cbd7f97 100644 --- a/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBean.java +++ b/spring-web/src/main/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBean.java @@ -27,6 +27,7 @@ import javax.servlet.ServletContext; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; import org.springframework.http.MediaType; +import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import org.springframework.web.context.ServletContextAware; @@ -55,7 +56,7 @@ public class ContentNegotiationManagerFactoryBean private Boolean useJaf; - private String parameterName; + private String parameterName = "format"; private MediaType defaultContentType; @@ -126,6 +127,7 @@ public class ContentNegotiationManagerFactoryBean *
The default parameter name is {@code "format"}.
*/
public void setParameterName(String parameterName) {
+ Assert.notNull(parameterName, "parameterName is required");
this.parameterName = parameterName;
}
diff --git a/spring-web/src/main/java/org/springframework/web/accept/ParameterContentNegotiationStrategy.java b/spring-web/src/main/java/org/springframework/web/accept/ParameterContentNegotiationStrategy.java
index 0adaeaab52..c5fe9f1b4f 100644
--- a/spring-web/src/main/java/org/springframework/web/accept/ParameterContentNegotiationStrategy.java
+++ b/spring-web/src/main/java/org/springframework/web/accept/ParameterContentNegotiationStrategy.java
@@ -44,7 +44,6 @@ public class ParameterContentNegotiationStrategy extends AbstractMappingContentN
*/
public ParameterContentNegotiationStrategy(Map The default parameter name is {@code format}.
*/
public void setParameterName(String parameterName) {
+ Assert.notNull(parameterName, "parameterName is required");
this.parameterName = parameterName;
}
diff --git a/spring-web/src/test/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBeanTests.java b/spring-web/src/test/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBeanTests.java
index 1851879b19..4d82e3f445 100644
--- a/spring-web/src/test/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBeanTests.java
+++ b/spring-web/src/test/java/org/springframework/web/accept/ContentNegotiationManagerFactoryBeanTests.java
@@ -88,7 +88,6 @@ public class ContentNegotiationManagerFactoryBeanTests {
@Test
public void favorParameter() throws Exception {
this.factoryBean.setFavorParameter(true);
- this.factoryBean.setParameterName("f");
Properties mediaTypes = new Properties();
mediaTypes.put("json", MediaType.APPLICATION_JSON_VALUE);
@@ -98,7 +97,7 @@ public class ContentNegotiationManagerFactoryBeanTests {
ContentNegotiationManager manager = this.factoryBean.getObject();
this.servletRequest.setRequestURI("/flower");
- this.servletRequest.addParameter("f", "json");
+ this.servletRequest.addParameter("format", "json");
assertEquals(Arrays.asList(MediaType.APPLICATION_JSON), manager.resolveMediaTypes(this.webRequest));
}