【发布时间】:2019-01-14 11:27:43
【问题描述】:
我有一个 Spring 应用程序,我在其中公开了两个 rest 接口以供使用。 一种供内部开发人员使用,另一种供客户使用。
Swagger 确实生成了一个很好的文档,可以在 /swagger-ui.html 下访问。
在此 URL 下,它显示了内部和外部用户的文档。
这是我的代码设置:
import org.springframework.boot.info.BuildProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2UiConfiguration extends WebMvcConfigurerAdapter {
@Bean(name="restInternalSwaggerApi")
public Docket internalApi(BuildProperties build) {
final Docket docket = new Docket(DocumentationType.SWAGGER_2)
.groupName( "internal" )
.select()
.apis( RequestHandlerSelectors.basePackage("com.xyz.web.internal") )
.build();
return docket;
}
@Bean(name="restPublicSwaggerApi")
public Docket publicApi(BuildProperties build) {
final Docket docket = new Docket(DocumentationType.SWAGGER_2)
.groupName( "public" )
.select()
.apis( RequestHandlerSelectors.basePackage("com.xyz.web.public") )
.build();
return docket;
}
}
现在,我想将这些 swagger-ui 文档分开。这样我们的内部开发人员就可以像
/documentation/private/swagger-ui.html 和
/documentation/public/api-v1.html
两人没有见面。 该怎么做?
我在这里找到了一些提示,但它们确实对我没有建设性:
http://sp ingfox.github.io/springfox/docs/current/#q13 和链接资源
Customize endpoints of dockets with springfox Swagger
swagger multiple versions in path
https://github.com/springfox/springfox/issues/963
https://github.com/springfox/springfox/issues/1263#issuecomment-210839308
如果有人愿意让我接受适当的文档,我也会很高兴。
如果问题难以理解以及如何改进,请告诉我。
关于 java 的 maven 的版本信息:
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
换句话说:
我希望 DropDown-Box 访问的不同 API 被不同的 URL 调用:
我想要这个,因此我可以为客户提供具有不同 API 的不同 URL,而不是向我的开发人员同事提供另一个 URL。
【问题讨论】:
-
您找到解决方案了吗?
-
@Dirk 你能弄清楚如何实现它吗?
标签: spring swagger-ui