Swagger 原理:
-
创建SpringBoot项目并且在pom.xml中引入Knife4j依赖包,Maven坐标如下:
<!--引入Knife4j的官方start包,Swagger2基于Springfox2.10.5项目--> <dependency> <groupId>com.github.xiaoymin</groupId> <!--使用Swagger2--> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.9</version> </dependency>
-
自定义 Swagger 配置类
@Configuration @EnableSwagger2WebMvc public class Knife4jConfiguration { @Bean(value = "dockerBean") public Docket dockerBean() { //指定使用Swagger2规范 Docket docket=new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() //描述字段支持Markdown语法 .description("# Knife4j RESTful APIs") .termsOfServiceUrl("https://doc.xiaominfo.com/") .contact("xiaoymin@foxmail.com") .version("1.0") .build()) //分组名称 .groupName("用户服务") .select() //这里指定Controller扫描包路径 .apis(RequestHandlerSelectors.basePackage("com.github.xiaoymin.knife4j.controller")) .paths(PathSelectors.any()) .build(); return docket; } }
-
定义需要生成接口文档的代码位置(Controller)
-
千万注意:线上环境不要把接口暴露出去!!!可以通过在 SwaggerConfig 配置文件开头加上
@Profile({"dev", "test"})
限定配置仅在部分环境开启 -
启动即可(访问http://localhost:8080/doc.html)
-
可以通过在 controller 方法上添加 @Api、@ApiImplicitParam(name = "name",value = "姓名",required = true) @ApiOperation(value = "向客人问好") 等注解来自定义生成的接口描述信息
如果 springboot version >= 2.6,需要添加如下配置:
spring: mvc: pathmatch: matching-strategy: ANT_PATH_MATCHER
标签:Knife4j,com,value,整合,Swagger,Docket,xiaoymin From: https://www.cnblogs.com/galo/p/16769137.html