由RunTimeTypeAdapterfactory实现的具有自定义转换器的WebMVCConfigurationSupport不适用于swagger-ui

时间:2019-08-04 16:49:36

标签: swagger swagger-ui springfox runtimetypeadapterfactory

我正在尝试在我的项目中实现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控制台中,我会看到以下错误消息:无法找到默认组的规范详细信息

0 个答案:

没有答案