diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcConfiguration.java index 891fdf75..8167804b 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcConfiguration.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcConfiguration.java @@ -33,11 +33,9 @@ import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; import top.charles7c.cnadmin.common.config.properties.CorsProperties; import top.charles7c.cnadmin.common.config.properties.LocalStorageProperties; -import top.charles7c.cnadmin.common.handler.CrudRequestMappingHandlerMapping; /** * Web MVC 配置 @@ -110,12 +108,4 @@ public class WebMvcConfiguration implements WebMvcConfigurer { converters.add(0, mappingJackson2HttpMessageConverter); } } - - /** - * CRUD 请求映射器处理器映射器 - */ - @Bean - public RequestMappingHandlerMapping requestMappingHandlerMapping() { - return new CrudRequestMappingHandlerMapping(); - } } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java new file mode 100644 index 00000000..2809b42f --- /dev/null +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.cnadmin.common.config; + +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.format.support.FormattingConversionService; +import org.springframework.web.accept.ContentNegotiationManager; +import org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration; +import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; +import org.springframework.web.servlet.resource.ResourceUrlProvider; + +import top.charles7c.cnadmin.common.handler.CrudRequestMappingHandlerMapping; + +/** + * Web MVC 映射配置 + * + * @author Charles7c + * @since 2023/1/30 22:57 + */ +@Configuration +public class WebMvcMappingConfiguration extends DelegatingWebMvcConfiguration { + + /** + * CRUD 请求映射器处理器映射器(覆盖默认 RequestMappingHandlerMapping) + */ + @Override + protected RequestMappingHandlerMapping createRequestMappingHandlerMapping() { + return new CrudRequestMappingHandlerMapping(); + } + + @Bean + @Primary + @Override + public RequestMappingHandlerMapping requestMappingHandlerMapping( + @Qualifier("mvcContentNegotiationManager") ContentNegotiationManager contentNegotiationManager, + @Qualifier("mvcConversionService") FormattingConversionService conversionService, + @Qualifier("mvcResourceUrlProvider") ResourceUrlProvider resourceUrlProvider) { + return super.requestMappingHandlerMapping(contentNegotiationManager, conversionService, resourceUrlProvider); + } +}