项目场景:
使用SpringBoot3整合swagger3.0
问题一:启动报错java.lang.TypeNotPresentException:
Type javax.servlet.http.HttpServletRequest not present
依赖配置好后,项目启动报错,内容如下:
分析原因:
发现是因为swagger版本问题,由于swagger需要springfox依赖,但是springfox版本过低
解决方案:
我们可以迁移到springdoc。该库还支持 OpenAPI 3 和 Swagger UI。(在GitHub上找到的解决方案)
在pom.xml文件中添加
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.0-M3</version>
</dependency>
创建配置类
/**
* 接口文档配置
*
* @author Canva
*/
@Configuration
public class SpringDocConfig {
@Bean
public OpenAPI apiInfo() {
return new OpenAPI().info(new Info().title("后端接口文档").version("1.0.0"));
}
@Bean
public GroupedOpenApi httpApi() {
return GroupedOpenApi.builder()
.group("http")
.pathsToMatch("/**")
.build();
}
}