【发布时间】:2015-05-04 18:53:34
【问题描述】:
我在配置 swagger 时遇到问题。当我在 web.xml 中为 servlet 指定链接时,例如
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
swagger 显示没有 .../rest/... 的 url-s 所以我不能使用 swagger-ui 进行测试,当我指定 url-pattern /* swagger-ui 不起作用。这里是配置类
@Configuration
@EnableSwagger
public class DocumentationController extends WebMvcConfigurerAdapter {
private SpringSwaggerConfig springSwaggerConfig;
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig;
}
@Bean
public SwaggerSpringMvcPlugin customImplementation() {
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(
apiInfo())
.genericModelSubstitutes(ResponseEntity.class)
.includePatterns("/.*");
}
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo("1-st Project's REST API",
"Write a description of REST API.",
"link",
"mail",
"API License",
"link");
return apiInfo;
}
}
【问题讨论】:
-
我认为你应该向我们展示你的 swagger-ui JS 配置。
-
@RC。我是js新手,可以是什么文件?
-
这与swagger-ui配置无关。这与 swagger-springmvc/springfox 中的
basePath配置有关(无论 @user3378876 使用的是哪个)。 -
@RC。好的,当我在 url-pattern 参数中指定非空值但我无法测试时它可以工作,因为 swagger 写入 url 时没有值。例如:我指定 url-pattern 参数 /rest/* 并且 swagger 只显示 /login 而不是 /rest/login 所以 swagger-ui 不能正常工作
标签: java spring-mvc jakarta-ee swagger swagger-ui