From 1837047a9e74c6ede5d63613ba3a9f87c44a00a5 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Mon, 30 Jan 2023 23:06:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A:fire:=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E9=87=8D=E5=86=99=20RequestMappingHandlerMapping=20?= =?UTF-8?q?=E5=90=8E=EF=BC=8C=E6=97=A5=E5=BF=97=E6=8B=A6=E6=88=AA=E5=99=A8?= =?UTF-8?q?=E7=AD=89=E5=A4=B1=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/config/WebMvcConfiguration.java | 10 ---- .../config/WebMvcMappingConfiguration.java | 57 +++++++++++++++++++ 2 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 continew-admin-common/src/main/java/top/charles7c/cnadmin/common/config/WebMvcMappingConfiguration.java 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); + } +}