我怎样才能昂首阔步地拾起api定义yaml文件?

问题描述

我尝试过使用这种方法

    @Primary
    @Bean
    public SwaggerResourcesProvider swaggerResourcesProvider(InMemorySwaggerResourcesProvider defaultResourcesProvider) {
        return () -> {
            SwaggerResource wsResource = new SwaggerResource();
            wsResource.setName("Documentation");
            wsResource.setSwaggerVersion("3.0");
            wsResource.setLocation("/swagger.yaml");

            List<SwaggerResource> resources = new ArrayList<>(defaultResourcesProvider.get());
            resources.add(wsResource);
            return resources;
        };
    } 

但是它似乎不起作用,没有从资源目录中提取文件。 有什么建议吗?

解决方法

这应该有效,例如:https://songrgg.github.io/operation/host-swagger-documentation-with-yaml-json-files/

您很有可能swagger.yaml位于与SwaggerConfiguration不同的目录中,因此请检查/swagger.yaml是否不应为<relative-path>/swagger.yaml

,

终于找到答案了。我的问题是在其中一个配置类上具有@EnableWebMvc注释。 该批注破坏了对静态资源(所有静态资源都会自动提取的标准类路径)的所有spring-boot自动配置。