1、问题
SpringBoot3集成SpringFox
时出现错误
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
[main] o.s.boot.SpringApplication : Application run failed
java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not present
2、原因
截至目前,SpringFox
已多年未更新,暂不支持SpingBoot3,导致SpingBoot3项目无法正常使用SpringFox
去生成API文档,SpingBoot3项目建议使用SpringDoc
。
SpringFox仓库
SpringDoc官网
3、解决
无需降低SpringBoot版本,可以直接使用SpringDoc
(SpringBoot3需使用SpringDoc2.0以上的版本)
3.1 引入SpringDoc
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.4.0</version>
</dependency>
3.2 Swagger配置
/**
* Swagger配置
*/
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI springShopOpenAPI() {
return new OpenAPI()
.info(new Info().title("SpringBoot3 API")
.description("SpringBoot3 sample application")
.version("v1.0.0")
.license(new License().name("Apache 2.0").url("http://springdoc.org")))
.externalDocs(new ExternalDocumentation()
.description("SpringShop Wiki Documentation")
.url("https://springshop.wiki.github.org/docs"));
}
}