我用招摇:
<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的单个文档,而不是多个文档。