Here是关于热添加ArgumentResolver的示例。它使用以下代码:
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addArgumentResolvers(
List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(new HeaderVersionArgumentResolver());
}
}
但是我只使用了@RestController
,没有任何MVC spring功能。但是需要重用一些逻辑来提取原始请求数据。有没有一种方法可以在Spring Boot 2应用程序中添加ArgumentResolver
而不实现WebMvcConfigurer
接口?
答案 0 :(得分:0)
这根本不能是:
但是我只使用@RestControllers而没有任何MVC弹簧功能
我怀疑您只是想增强Spring Boot MVC,而又不影响现有版本。
如果您想保留Spring Boot MVC功能并添加 其他MVC配置(拦截器,格式化程序,视图 控制器和其他功能),您可以添加自己的@Configuration WebMvcConfigurer类型的类,但没有@EnableWebMvc。
因此,如果添加该实现,则不会丢失Spring Boot MVC功能。只要您不添加WebMvcConfigurer
,就没有理由不实施@EnableWebMvc
。