springboot整合 knife4j 接口文档

avatar
作者
猴君
阅读量:0

第一步:引入依赖

<dependency>             <groupId>com.github.xiaoymin</groupId>             <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>             <version>4.4.0</version>         </dependency>

第二步:写入配置

方法一:编写一个工具类

import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;   @Configuration @EnableSwagger2WebMvc public class Knife4jConfiguration {      private ApiInfo groupApiInfo(){         return new ApiInfoBuilder()                 .title("herbig接口文档")                 .description("Smart Claims RESTful APIs")                 .termsOfServiceUrl("http://localhost:8077/")                 .contact(new Contact("herbig祺","","邮箱"))                 .description("测试描述")                 .version("4.0")                 .build();     }      @Bean     public Docket appApi() {         return new Docket(DocumentationType.SWAGGER_2)                 .apiInfo(groupApiInfo())                 .groupName("移动端接口")                 .select()                 .apis(RequestHandlerSelectors.basePackage("com.herbig.app"))                 .paths(PathSelectors.any())                 .build();     }      @Bean     public Docket pcApi() {         return new Docket(DocumentationType.SWAGGER_2)                 .apiInfo(groupApiInfo())                 .groupName("网页端接口")                 .select()                 .apis(RequestHandlerSelectors.basePackage("com.herbig.pc"))                 .paths(PathSelectors.any())                 .build();     }  } 

方法二:在yml里面配置

knife4j:   enable: true   openapi:     title: herbig接口文档     description: 测试描述     email: 邮箱     concat: herbig祺     url: http://localhost:8077/     version: v4.0     license: Apache 2.0     license-url: http://localhost:8077/     terms-of-service-url: http://localhost:8077/     group:       test1:         group-name: 移动端接口         api-rule: package         api-rule-resources:           - com.knife4j.demo.new3       test2:         group-name: 网页端接口         api-rule: package         api-rule-resources:           - com.knife4j.demo.new3

第三步:启动项目——访问地址 http://ip:端口号/doc.html#/

番外:如果提供给别人接口API时不希望所有人都能看到可以加一些登录限制 在yml文件中

knife4j:   enable: true   basic:     enable: true     password: 123123     username: 123123

这样访问地址就会出现登录提示,出入用户名和密码即可查看

测试用例:

@RestController @RequestMapping("/one") @Api(value = "测试接口",tags = "测试接口")//接口文档的api组名 public class Knife4jController {      @ApiOperation(value = "接口释义", notes = "接口释义")//接口释义     @RequestMapping(value = "/two", method = RequestMethod.POST)     @ApiImplicitParams({             @ApiImplicitParam(name = "canshu", value = "参数", required = false)//参数 required是否必填     })     public String doGetStudyFileDataList() {         return "啦啦啦,成功了";     } }

结果 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!