最新版swagger3.0 和之前的版本配置还是有很大区别的。感兴趣看看这个
github地址
参考若依项目的pom
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<version>21.3.0.0</version>
</dependency>
<!-- Swagger3依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.6.2</version>
</dependency>
SwaggerConfig.java
@Configuration
//@EnableOpenApi
public class SwaggerConfig extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
/** swagger配置 */
registry.addResourceHandler("/swagger-ui/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/");
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
System.out.println("====yyds====");
registry.addViewController( "/swagger-ui/")
.setViewName("forward:/swagger-ui/index.html");
}
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage("com.jnr.dormitory.web.controller"))
.paths(PathSelectors.any())
.build()
// .globalRequestParameters(Collections.singletonList(//添加请求头参数
// new RequestParameterBuilder()
// .name("disable-access-token")
// .description("免校验令牌")
// .in(ParameterType.HEADER)
// .required(true)
// .query(q -> q.defaultValue("disable-access-token").allowEmptyValue(true).model(m -> m.scalarModel(ScalarType.STRING)))
// .build()))
;
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("Manage System")
.description("This is a restful api document.")
.version("1.0")
.build();
}
}
启动服务,访问
/swagger-ui/index.html