我正在使用springdoc-openapi-ui作为spring Boot API文档,遇到了以下问题-
我已添加所有必要的配置如下-
1.Maven的依赖-
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.2</version>
</dependency>
1.这是主文件-
package com.abc.tl;
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@OpenAPIDefinition
public class TLApplication {
public static void main(String[] args) {
SpringApplication.run(TLApplication.class, args);
}
}
使用java版本-11,不确定问题在哪里,项目无法运行。
7条答案
按热度按时间sczxawaw1#
通过以下依赖项,解决了此问题。
8iwquhpp2#
我在我的应用程序www.example.com中添加了下面一行application.properties,这对我很有效。
fcy6dtqo3#
以上项目工作
spring.mvc.pathpattern.matching-strategy=ant_path_matcher
但是,它应该是
ant-path-matcher
-破折号而不是下划线z3yyvxxp4#
似乎
PathPatternParser
不允许**
出现在中间,并且将拒绝这样的模式(查看更多详细信息:https://github.com/spring-projects/spring-boot/issues/21694)。看起来这里的代码在路径模式的中间插入了一个
**
。完整代码
dnph8jn45#
在代码中的某个地方(我猜是在安全配置中),您已经配置了
/**/swagger-ui/**
。最近(Spring 5.3),这些路径配置现在由PathPatternParser
分析(它取代了旧的AntPathMatcher
,后者允许类似的路径)。按照建议将
spring.mvc.pathpattern.matching-strategy=ant_path_matcher
添加到application.properties
,或者将路径配置更改为类似"/webjars/swagger-ui/**"
的内容。7jmck4yq6#
在我的例子中,我使用的是旧版本的
springdoc-openapi-ui
springdoc-openapi-data-rest
,它碰巧与最新版本的Sping Boot 不兼容,在https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-ui上查找最新的maven包并使用该版本,解决了这个问题。7bsow1i67#
我添加了这行我这边正在工作application.properties