今天想通过swagger测试接口启动服务后却跳出
通过网上查询有的说直接把@EnableSwagger2注解加在主启动类就可以了,我试了下的确可以打开swagger的页面,但是这样会扫到使用的框架的接口,所以这种方法应该是不正确的。
最后发现原因应该是和Spring没有扫描到Swagger配置类从而没法自动创建Bean:
@Configuration
@EnableSwagger2
public class Swagger2Configuration {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.***"))
.paths(PathSelectors.any())
.build();
} .....配置类我只截了一部分
解决方法:主启动类加上@ComponentScan("swagger配置类所在包")以保证配置类被扫描到
@ComponentScan("com.hello.cms.config")//根据自己需要填写包名
@SpringBootApplication
public class ManagerCmsApplication {
public static void main(String[] args) {
SpringApplication.run(ManagerCmsApplication.class);
}
}
如果加上注解依然没用可以刷新几次浏览器(我这里测试有效)
大家有好的建议请留言,我是个java自学的小白,还望多多包涵
2019/02/24