一、概述
升级到Springboot3后,随着jdk升级,javax启用导致原来swagger不再可用,所以需要升级下相关在线接口文档系统。
二、配置
首先,去除原swagger的maven坐标,增加新的依赖:
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.1.0</version>
</dependency>
然后,增加配置:
#在线文档
springdoc.swagger-ui.path=/swagger-ui.html
springdoc.swagger-ui.tags-sorter=alpha
springdoc.swagger-ui.operations-sorter=alpha
springdoc.api-docs.path=/v3/api-docs
springdoc.group-configs[0].group=default
springdoc.group-configs[0].paths-to-match=/**
springdoc.group-configs[0].packages-to-scan=com.test.controller
knife4j.enable=true
knife4j.setting.language=zh_cn
logging.level.com.hexadecimal=debug
最后,增加java配置类:
SwaggerConfig.java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
/**
* @ClassName: SwaggerConfig
* @Description: TODO(这里用一句话描述这个类的作用)
* @author chengcai.shang@cmgplex.com
* @date 2023年12月12日 下午2:42:57
*
*/
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI springShopOpenAPI() {
return new OpenAPI()
.info(new Info().title("数据API").description("数据API").version("v1")
.license(new License().name("Apache").url("http://www.apache.com/"))
.contact(new Contact().name("尚浩宇").email("javascc@126.com")))
.externalDocs(new ExternalDocumentation().description("项目地址")
.url("https://127.0.0.1/docs"));
}
}
三、验证
打开浏览器输入http://127.0.0.1:11001/swagger-ui/index.html
也可输入http://127.0.0.1:11001/doc.html,打开knife4j地址
有兴趣的可以关注下微信公共号。