我使用swagger来描述我的Rest API
所以,这是swaggerConfig.java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.tags(
new Tag("Session", "All About Session", 1)
)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("My Rest API")
.version("1.0.0")
.build();
}
我的网络服务部署在此链接http://localhost:2080/ws1.1/
可以通过http://localhost:2080/ws1.1/swagger-ui.html
现在,我设置了像这样的
的Apache服务器代理<VirtualHost *:80>
ServerName cc.com
....
ProxyPass /stable http://localhost:2080/ws1.1/
ProxyPassReverse /stable http://localhost:2080/ws1.1/
<Location "/webapps">
Order deny,allow
Allow from all
</Location>
</VirtualHost>
使用此配置,可通过http://cc.com/stable/swagger-ui.html
在那之前,一切都很好
但是当我尝试运行我的API的任何端点时,swagger会生成一个错误的URL
这是生成的网址:http://cc.com/ws1.1/login?login=user&passwd=psw
- &gt; KO
我希望这个网址:http://cc.com/stable/login?login=user&passwd=psw
答案 0 :(得分:1)
您可以尝试将此属性设置为Docket
:
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/stable")
它将添加一个servlet路径映射到您的端点的URL。