找不到 swagger-resources/configuration/ui 的映射
No mapping found for swagger-resources/configuration/ui
我正在尝试在非 spring 启动应用程序中配置 swagger ui。我做了以下事情。
1.添加了以下依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.5</version>
</dependency>
2。添加了 Swagger 配置 class
@Configuration
@EnableSwagger2
@EnableWebMvc
//@PropertySource("classpath:/swagger.properties")
public class SwaggerConfig {
@Bean
public Docket proposalApis(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("test")
.select()
.apis(RequestHandlerSelectors.basePackage("com.test.abc"))
.paths(PathSelectors.regex("/test1.*"))
.build()
.apiInfo(testApiInfo());
}
private ApiInfo testApiInfo() {
ApiInfo apiInfo = new ApiInfoBuilder().title("Test APIs").description("GET POST PUT methods are supported ").version("V1").build();
return apiInfo;
}
}
添加了以下映射:
<mvc:resources mapping="swagger-ui.html" location="classpath:/META- INF/resources/"/>
<mvc:resources mapping="/webjars/**" location="classpath:/META- INF/resources/webjars/"/>
我可以访问以下url的
/v2/api-docs
/swagger-resources
但是在加载 swagger-ui.html UI 时加载并且在服务器上出现以下错误
No mapping found for /context/swagger-resources/configuration/ui in Dispatcher servlet
有人可以帮忙吗?
我在我的 pom.xml 中使用 Swagger 版本 2.3.1。我想知道为什么 springfox-swagger2
和 springfox-swagger-ui
工件有不同的版本?
我的 SwaggerConfig class 看起来像这样。没有属性:
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Autowired
private TypeResolver typeResolver;
@Bean
public Docket swaggerSpringMvcPlugin() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("FooBar")
.select()
//Ignores controllers annotated with @CustomIgnore
.apis(any()) //Selection by RequestHandler
.paths(paths()) // and by paths
.build()
.apiInfo(apiInfo()
);
}
private ApiInfo apiInfo() {
return new ApiInfo("FooBar",
"A java server based on SpringBoot",
"1.0.0",
null,
"author","","");
}
//Here is an example where we select any api that matches one of these paths
private Predicate<String> paths() {
return or(
regex("/foobar/*.*")
);
}
}
没有适合我的配置或资源。
当我点击 URL http://localhost:8080/foobar/swagger-ui.html
时,页面立即出现
springfox-swagger2 和 springfox-swagger-ui 的不同版本一直是个问题。在某些情况下,如 2.5.0 的前者和 2.6.1 版本的后者,集成工作正常。但是,如果前者是 2.6.1 而后者是 2.4.0,则 ui 变得不兼容。因此,我建议如果通过实践将两个依赖项都采用相同版本,则可以减少 swagger 的意外功能。
我正在尝试在非 spring 启动应用程序中配置 swagger ui。我做了以下事情。 1.添加了以下依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.5</version>
</dependency>
2。添加了 Swagger 配置 class
@Configuration
@EnableSwagger2
@EnableWebMvc
//@PropertySource("classpath:/swagger.properties")
public class SwaggerConfig {
@Bean
public Docket proposalApis(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("test")
.select()
.apis(RequestHandlerSelectors.basePackage("com.test.abc"))
.paths(PathSelectors.regex("/test1.*"))
.build()
.apiInfo(testApiInfo());
}
private ApiInfo testApiInfo() {
ApiInfo apiInfo = new ApiInfoBuilder().title("Test APIs").description("GET POST PUT methods are supported ").version("V1").build();
return apiInfo;
}
}
添加了以下映射:
<mvc:resources mapping="swagger-ui.html" location="classpath:/META- INF/resources/"/> <mvc:resources mapping="/webjars/**" location="classpath:/META- INF/resources/webjars/"/>
我可以访问以下url的
/v2/api-docs
/swagger-resources
但是在加载 swagger-ui.html UI 时加载并且在服务器上出现以下错误
No mapping found for /context/swagger-resources/configuration/ui in Dispatcher servlet
有人可以帮忙吗?
我在我的 pom.xml 中使用 Swagger 版本 2.3.1。我想知道为什么 springfox-swagger2
和 springfox-swagger-ui
工件有不同的版本?
我的 SwaggerConfig class 看起来像这样。没有属性:
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Autowired
private TypeResolver typeResolver;
@Bean
public Docket swaggerSpringMvcPlugin() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("FooBar")
.select()
//Ignores controllers annotated with @CustomIgnore
.apis(any()) //Selection by RequestHandler
.paths(paths()) // and by paths
.build()
.apiInfo(apiInfo()
);
}
private ApiInfo apiInfo() {
return new ApiInfo("FooBar",
"A java server based on SpringBoot",
"1.0.0",
null,
"author","","");
}
//Here is an example where we select any api that matches one of these paths
private Predicate<String> paths() {
return or(
regex("/foobar/*.*")
);
}
}
没有适合我的配置或资源。
当我点击 URL http://localhost:8080/foobar/swagger-ui.html
springfox-swagger2 和 springfox-swagger-ui 的不同版本一直是个问题。在某些情况下,如 2.5.0 的前者和 2.6.1 版本的后者,集成工作正常。但是,如果前者是 2.6.1 而后者是 2.4.0,则 ui 变得不兼容。因此,我建议如果通过实践将两个依赖项都采用相同版本,则可以减少 swagger 的意外功能。