我正在使用springfox-swagger 2.8.0。我想根据需要自定义Swagger文档和API版本路径。可以使用application.properties修改版本路径,并且路径正确:
springfox.documentation.swagger.v2.path = / v2 / availability-service
http://localhost:8080/context-path/v2/availability-service
但是希望我的文档URL如下所示,如何使用application.properties条目或任何方法替代来做到这一点。
http://localhost:8080/context-path/availability-service.html
http://localhost:8080/context-path/swagger-ui.html URL正确返回了文档。
任何人都可以指定如何做吗?任何建议都会有所帮助。
答案 0 :(得分:0)
您可以尝试以下操作:
### Popular gems integration
config.authenticate_with do
redirect_to merchants_path unless current_user.admin?
end
config.current_user_method(&:current_user)
答案 1 :(得分:0)
我的Java代码:前提条件是您的网址具有良好的命名和分组规则。
@Configuration
@EnableSwagger2
@ConditionalOnProperty("swagger.enable")
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).groupName("contract")
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.invoice.gateway.api.admin"))
.paths(PathSelectors.ant("/api/admin/**"))
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Web APIs")
.description("Contract Interface")
.version("1.0")
.build();`enter code here`
}
}
答案 2 :(得分:0)
我认为简短的答案是您不能。造成这种情况的至少一个原因是springfox.js代码中的此功能,其中swagger-ui.html
是硬编码
const getBaseURL = () => {
const urlMatches = /(.*)\/swagger-ui.html.*/.exec(window.location.href);
return urlMatches[1];
};
更长的答案是,您可能可以解决此问题,具体取决于您的要求以及要投入多少工作。
如果您只希望某人从您的特定链接到达 swagger-ui文档,则快速解决方案是将对http://localhost:8080/context-path/availability-service.html的所有请求重定向到http://localhost:8080/context-path/swagger-ui.html >
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController(
"/context-path/availability-service.html",
"swagger-ui.html"
);
}
}