Swagger不使用手动Yaml规范生成静态HTML文档

时间:2019-09-12 11:02:23

标签: java maven swagger

我用招摇:

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version>
    </dependency>

然后我向其中添加两个单独的/ api / docs:

@Component
@Primary
@EnableAutoConfiguration
public class DocumentationController implements SwaggerResourcesProvider {
    @Override
    public List get() {
        List resources = new ArrayList<>();
        resources.add(swaggerResource("dictionary", "/dictionary/v2/api-docs", "2.0"));
        resources.add(swaggerResource("gateway", "/v2/api-docs", "2.0"));
        return resources;
    }

    private SwaggerResource swaggerResource(String name, String location, String version) {
        SwaggerResource swaggerResource = new SwaggerResource();
        swaggerResource.setName(name);
        swaggerResource.setLocation(location);
        swaggerResource.setSwaggerVersion(version);
        return swaggerResource;
    }
}

我可以在

上访问它

http://localhost:8081/swagger-ui.html?urls.primaryName=gateway

或:

http://localhost:8081/swagger-ui.html?urls.primaryName=dictionary

现在,我想使用此网站从中生成静态html文档,或者

http://localhost:8081/v2/api-docs

我该怎么办? 我了解了有关代码生成的信息,但我了解到它具有一些Yaml规范,这些规范我没有,也不想手动编写。

编辑:

如果我从http://localhost:8081/v2/api-docs的内容中保存json文件 它是有效的json输入文件swagger-codegen吗?此api-docs还包含dictionary定义吗?我想在读取dictionary API时减少对它的访问(在此处的片段https://piotrminkowski.wordpress.com/2017/04/14/microservices-api-documentation-with-swagger2/中使用MavenXpp3Reader,并仅在网关HTML上使API并添加了其他经过修剪的API,例如dictionary

我想生成内部包含多个API的单个文档,而不是多个文档。

0 个答案:

没有答案