springboot:使用swagger运行多上下文

gijlo24d  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(256)

我有一个projetSpring启动多模块与下面的结构

projet
 --bootloader
 --command
 --query
 --documentation

在文档模块中,我有一个swagger配置

@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket serviceProviderApi() {
     ...
    }
}

在命令模块中,我有下面两个类

@RequestMapping(value = "questions")
public class QuestionController {

}

@Configuration
public class CommandRestConfiguration {

    @Bean
    public QuestionController questionController() {
        return new QuestionController();
    }

}

在查询模块中,我有下面两个类

@RequestMapping(value = "questions")
public class QuestionResource {

}

@Configuration
public class QueryRestConfiguration {

    @Bean
    public QuestionResource questionResource() {
        return new QuestionResource();
    }

}

我希望在运行应用程序时启动两个容器,一个用于命令,另一个用于查询,每个模块都有自己的config swagger,所以我做了以下配置

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplicationBuilder parentBuilder = new SpringApplicationBuilder(Application.class);
        parentBuilder.child(QueryRestConfiguration.class, SwaggerConfig.class).properties("server.port:${application.port.query}").web(WebApplicationType.NONE).run(args);
        parentBuilder.child(CommandRestConfiguration.class, SwaggerConfig.class).properties("server.port:${application.port.command}").web(WebApplicationType.NONE).run(args);
    }

}

但我有个错误
说明:
springfox.documentation.spring.web.plugins.documentationpluginsbootstrapper中构造函数的参数6需要一个类型为“javax.servlet.servletcontext”的bean,但找不到该bean。
行动:
考虑在配置中定义“javax.servlet.servletcontext”类型的bean。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题