Revert "GH-3366: Return null from HTTP handleNoMatch"

This reverts commit 9aa9707f37.

See https://github.com/spring-projects/spring-framework/issues/25636#issuecomment-691269516
This commit is contained in:
Gary Russell
2020-09-11 15:29:16 -04:00
parent 9aa9707f37
commit dbb2f9cecb
4 changed files with 16 additions and 50 deletions

View File

@@ -55,7 +55,8 @@ public class HttpIntegrationConfigurationInitializer implements IntegrationConfi
* which could also be overridden by the user by simply registering
* a {@link IntegrationRequestMappingHandlerMapping} {@code <bean>} with 'id'
* {@link HttpContextUtils#HANDLER_MAPPING_BEAN_NAME}.
* <p> In addition, checks if the {@code javax.servlet.Servlet} class is present on the classpath.
* <p>
* In addition, checks if the {@code javax.servlet.Servlet} class is present on the classpath.
* When Spring Integration HTTP is used only as an HTTP client, there is no reason to use and register
* the HTTP server components.
*/
@@ -63,9 +64,9 @@ public class HttpIntegrationConfigurationInitializer implements IntegrationConfi
if (HttpContextUtils.WEB_MVC_PRESENT &&
!registry.containsBeanDefinition(HttpContextUtils.HANDLER_MAPPING_BEAN_NAME)) {
BeanDefinitionBuilder requestMappingBuilder =
BeanDefinitionBuilder.genericBeanDefinition(IntegrationRequestMappingHandlerMapping.class)
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE)
.addPropertyValue(IntegrationNamespaceUtils.ORDER, -1);
BeanDefinitionBuilder.genericBeanDefinition(IntegrationRequestMappingHandlerMapping.class);
requestMappingBuilder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
requestMappingBuilder.addPropertyValue(IntegrationNamespaceUtils.ORDER, 0);
registry.registerBeanDefinition(HttpContextUtils.HANDLER_MAPPING_BEAN_NAME,
requestMappingBuilder.getBeanDefinition());
}

View File

@@ -21,10 +21,8 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -179,18 +177,6 @@ public final class IntegrationRequestMappingHandlerMapping extends RequestMappin
return null;
}
@Override
protected HandlerMethod handleNoMatch(Set<RequestMappingInfo> infos, String path, HttpServletRequest request) {
try {
return super.handleNoMatch(infos, path, request);
}
catch (ServletException ex) {
// Since this component has a higher precedence the 'null' return allows a
// 'DispatcherServlet' to try other 'HandlerMapping'
return null;
}
}
private static CorsConfiguration buildCorsConfiguration(CrossOrigin crossOrigin, RequestMappingInfo mappingInfo) {
CorsConfiguration config = new CorsConfiguration();
for (RequestMethod requestMethod : crossOrigin.getMethod()) {