如何在Spring Boot 2中添加自定义ArgumentResolvers而不启用Web MVC?

时间:2018-11-06 09:35:46

标签: java spring spring-mvc spring-boot

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接口?

1 个答案:

答案 0 :(得分:0)

这根本不能是:

  

但是我只使用@RestControllers而没有任何MVC弹簧功能

我怀疑您只是想增强Spring Boot MVC,而又不影响现有版本。

来自String Boot documentation

  

如果您想保留Spring Boot MVC功能并添加   其他MVC配置(拦截器,格式化程序,视图   控制器和其他功能),您可以添加自己的@Configuration   WebMvcConfigurer类型的类,但没有@EnableWebMvc。

因此,如果添加该实现,则不会丢失Spring Boot MVC功能。只要您不添加WebMvcConfigurer,就没有理由不实施@EnableWebMvc