springboot实现Swagger配置
直接上代码:
首先是依赖部分
导入相关依赖包
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
在创建一个配置类:
配置类:
@Configuration
@EnableKnife4j
@EnableOpenApi
public class SwaggerConfiguration {
@Bean
public Docket createRestApis() {
return new Docket(DocumentationType.OAS_30)
.enable(true)//是否启用:注意生产环境需要关闭
.groupName("spring-boot-2.7.3")
.genericModelSubstitutes(DeferredResult.class)
.useDefaultResponseMessages(false)
.forCodeGeneration(true)
.ignoredParameterTypes(CookieValue.class)
.apiInfo(apiInfo())
.select()
//以下拦截配置可以三选一,根据需要进行添加
.apis(RequestHandlerSelectors.basePackage("com.example.page_demo.controller"))
.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("支付宝小程序接口文档")
.description("开发测试")
// 服务条款URL
.termsOfServiceUrl("https://www.baidu.com/")
// 作者信息
.contact(new Contact("auther", "https://www.baidu.com/", "123@qq.com"))
.version("1.0.0")
.build();
}
}
启动类相关信息:
启动类:
@MapperScan("com.example.page_demo.mapper")
@SpringBootApplication
@EnableOpenApi
@Slf4j
@EnableWebMvc
public class PageDemoApplication {
public static void main(String[] args) {
ConfigurableApplicationContext run1 = SpringApplication.run(PageDemoApplication.class, args);
ConfigurableEnvironment env = run1.getEnvironment();
String sb =
"\n**********************************************************\n" +
"* *\n" +
"* 服 务 启 动 成 功 *\n" +
"* *\n" +
"************************************************************\n" +
"swagger: \thttp://127.0.0.1:" + env.getProperty("server.port") + "/swagger-ui/index.html#/" +
"Version:" + env.getProperty("system.version") +
"\n************************************************************\n\t";
log.info(sb);
}
}
不添加注解@EnableWebMvc会报错版本匹配问题
springboot 升级到 2.6.0之后,swagger版本和springboot出现了不兼容情况
测试一下(为了小伙伴不必要的去寻找相关注解,我这边直接一整套测试安排上,go go go)
vo层使用注解:
controller层使用注解:
效果圖:前端在入参选择时候就不会再一直问你要字段名称了
<<<<<<<<<<<<<<<到点 ,下班,一天工资,到手>>>>>>>>>>>>>>>>
欢迎各位小伙伴交流学习,自己会不定期更新一些小玩意,共同学习哈__