Merge branch '2.0.x'
This commit is contained in:
		
						commit
						e39e125aa2
					
				| 
						 | 
				
			
			@ -653,7 +653,7 @@ public class WebMvcAutoConfiguration {
 | 
			
		|||
			Object skip = webRequest.getAttribute(SKIP_ATTRIBUTE,
 | 
			
		||||
					RequestAttributes.SCOPE_REQUEST);
 | 
			
		||||
			if (skip != null && Boolean.parseBoolean(skip.toString())) {
 | 
			
		||||
				return Collections.emptyList();
 | 
			
		||||
				return MEDIA_TYPE_ALL_LIST;
 | 
			
		||||
			}
 | 
			
		||||
			return this.delegate.resolveMediaTypes(webRequest);
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,6 +55,7 @@ import org.springframework.core.io.Resource;
 | 
			
		|||
import org.springframework.format.support.FormattingConversionService;
 | 
			
		||||
import org.springframework.http.CacheControl;
 | 
			
		||||
import org.springframework.http.HttpHeaders;
 | 
			
		||||
import org.springframework.http.MediaType;
 | 
			
		||||
import org.springframework.http.converter.HttpMessageConverter;
 | 
			
		||||
import org.springframework.mock.web.MockHttpServletRequest;
 | 
			
		||||
import org.springframework.test.util.ReflectionTestUtils;
 | 
			
		||||
| 
						 | 
				
			
			@ -62,8 +63,11 @@ import org.springframework.util.StringUtils;
 | 
			
		|||
import org.springframework.validation.Validator;
 | 
			
		||||
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
 | 
			
		||||
import org.springframework.web.accept.ContentNegotiationManager;
 | 
			
		||||
import org.springframework.web.accept.ContentNegotiationStrategy;
 | 
			
		||||
import org.springframework.web.accept.ParameterContentNegotiationStrategy;
 | 
			
		||||
import org.springframework.web.accept.PathExtensionContentNegotiationStrategy;
 | 
			
		||||
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
 | 
			
		||||
import org.springframework.web.context.request.ServletWebRequest;
 | 
			
		||||
import org.springframework.web.filter.HttpPutFormContentFilter;
 | 
			
		||||
import org.springframework.web.servlet.HandlerAdapter;
 | 
			
		||||
import org.springframework.web.servlet.HandlerExceptionResolver;
 | 
			
		||||
| 
						 | 
				
			
			@ -822,6 +826,20 @@ public class WebMvcAutoConfigurationTests {
 | 
			
		|||
				});
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void contentNegotiationStrategySkipsPathExtension() throws Exception {
 | 
			
		||||
		ContentNegotiationStrategy delegate = mock(ContentNegotiationStrategy.class);
 | 
			
		||||
		ContentNegotiationStrategy strategy = new WebMvcAutoConfiguration
 | 
			
		||||
				.OptionalPathExtensionContentNegotiationStrategy(delegate);
 | 
			
		||||
 | 
			
		||||
		MockHttpServletRequest request = new MockHttpServletRequest();
 | 
			
		||||
		request.setAttribute(PathExtensionContentNegotiationStrategy.class
 | 
			
		||||
				.getName() + ".SKIP", Boolean.TRUE);
 | 
			
		||||
		ServletWebRequest webRequest = new ServletWebRequest(request);
 | 
			
		||||
		List<MediaType> mediaTypes = strategy.resolveMediaTypes(webRequest);
 | 
			
		||||
		assertThat(mediaTypes).containsOnly(MediaType.ALL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	private void assertCacheControl(AssertableWebApplicationContext context) {
 | 
			
		||||
		Map<String, Object> handlerMap = getHandlerMap(
 | 
			
		||||
				context.getBean("resourceHandlerMapping", HandlerMapping.class));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue