在跟着尚硅谷的一个微服务做项目的时候,使用Swagger2打开浏览器一直报错,http://localhost:8080/swagger-ui.htm
首先你得保证
1、在启动类或配置类上加@EnableSwagger2
注解
2、包扫描注解@ComponentScan注解,例如我的是
3、添加SwaggerConfig配置类
@Configuration//配置类
@EnableSwagger2 //swagger注解
public class SwaggerConfig {
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("网站-课程中心API文档")
.description("本文档描述了课程中心微服务接口定义")
.version("1.0")
.contact(new Contact("java", "http://atguigu.com", "1123@qq.com"))
.build();
}
}
但是还是报错,找了很久,突然在某个优快云的博客上看到别人的配置类跟我的代码不一样,其中有一行
.apis(RequestHandlerSelectors.basePackage("com.atguigu")),应该是设置包的扫描路径,但是我不是在启动类上加了@ComponentScan(basePackages = {"com.atguigu"})了吗?但还是试了一下,加上这一句之后便没报错了,可能是是要限制这个SwaggerConfig配置类作用的包路径。具体加的位置如下