我正在尝试在我的项目中实现Swagger2。我通过扩展WebMVCConfigurationSupport和覆盖方法(包括configureMessageConverters)添加了自定义Gson转换器。我正在通过RunTimeTypeAdapterFactory注册DTO,它将通过Rest发送/使用。但是,在实现Swagger时,我在maven中将swagger-ui和swagger2版本添加为2.9.2。下面给出了Swagger配置
@EnableSwagger2
@Configuration
public class SwaggerConfig extends WebMvcConfigurationSupport {
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors
.basePackage("com.example.demo"))
.paths(regex("/api.*"))
.build();
}
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
但是,点击http://locahost:8080/swagger-ui.html则显示: 无法呈现此定义。请指出有效的Swagger或OpenAPI版本字段。支持的版本字段是swagger:“ 2.0”或openAPI:“ 3.0.0”。当我按下http://locahost:8080/v2/api-docs时,在STS控制台中,我会看到以下错误消息:无法找到默认组的规范详细信息