springboot整合 knife4j 接口文档

打印 上一主题 下一主题

主题 522|帖子 522|积分 1566

第一步:引入依赖
  1. <dependency>
  2.             <groupId>com.github.xiaoymin</groupId>
  3.             <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
  4.             <version>4.4.0</version>
  5.         </dependency>
复制代码
第二步:写入配置
方法一:编写一个工具类
  1. import org.springframework.context.annotation.Bean;
  2. import org.springframework.context.annotation.Configuration;
  3. import springfox.documentation.builders.ApiInfoBuilder;
  4. import springfox.documentation.builders.PathSelectors;
  5. import springfox.documentation.builders.RequestHandlerSelectors;
  6. import springfox.documentation.service.ApiInfo;
  7. import springfox.documentation.service.Contact;
  8. import springfox.documentation.spi.DocumentationType;
  9. import springfox.documentation.spring.web.plugins.Docket;
  10. import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
  11. @Configuration
  12. @EnableSwagger2WebMvc
  13. public class Knife4jConfiguration {
  14.     private ApiInfo groupApiInfo(){
  15.         return new ApiInfoBuilder()
  16.                 .title("herbig接口文档")
  17.                 .description("Smart Claims RESTful APIs")
  18.                 .termsOfServiceUrl("http://localhost:8077/")
  19.                 .contact(new Contact("herbig祺","","邮箱"))
  20.                 .description("测试描述")
  21.                 .version("4.0")
  22.                 .build();
  23.     }
  24.     @Bean
  25.     public Docket appApi() {
  26.         return new Docket(DocumentationType.SWAGGER_2)
  27.                 .apiInfo(groupApiInfo())
  28.                 .groupName("移动端接口")
  29.                 .select()
  30.                 .apis(RequestHandlerSelectors.basePackage("com.herbig.app"))
  31.                 .paths(PathSelectors.any())
  32.                 .build();
  33.     }
  34.     @Bean
  35.     public Docket pcApi() {
  36.         return new Docket(DocumentationType.SWAGGER_2)
  37.                 .apiInfo(groupApiInfo())
  38.                 .groupName("网页端接口")
  39.                 .select()
  40.                 .apis(RequestHandlerSelectors.basePackage("com.herbig.pc"))
  41.                 .paths(PathSelectors.any())
  42.                 .build();
  43.     }
  44. }
复制代码
方法二:在yml里面配置
  1. knife4j:
  2.   enable: true
  3.   openapi:
  4.     title: herbig接口文档
  5.     description: 测试描述
  6.     email: 邮箱
  7.     concat: herbig祺
  8.     url: http://localhost:8077/
  9.     version: v4.0
  10.     license: Apache 2.0
  11.     license-url: http://localhost:8077/
  12.     terms-of-service-url: http://localhost:8077/
  13.     group:
  14.       test1:
  15.         group-name: 移动端接口
  16.         api-rule: package
  17.         api-rule-resources:
  18.           - com.knife4j.demo.new3
  19.       test2:
  20.         group-name: 网页端接口
  21.         api-rule: package
  22.         api-rule-resources:
  23.           - com.knife4j.demo.new3
复制代码
第三步:启动项目——访问地址 http://ip:端口号/doc.html#/

番外:如果提供给别人接口API时不希望所有人都能看到可以加一些登录限制 在yml文件中
  1. knife4j:
  2.   enable: true
  3.   basic:
  4.     enable: true
  5.     password: 123123
  6.     username: 123123
复制代码
这样访问地址就会出现登录提示,出入用户名和密码即可检察

测试用例:
  1. @RestController
  2. @RequestMapping("/one")
  3. @Api(value = "测试接口",tags = "测试接口")//接口文档的api组名
  4. public class Knife4jController {
  5.     @ApiOperation(value = "接口释义", notes = "接口释义")//接口释义
  6.     @RequestMapping(value = "/two", method = RequestMethod.POST)
  7.     @ApiImplicitParams({
  8.             @ApiImplicitParam(name = "canshu", value = "参数", required = false)//参数 required是否必填
  9.     })
  10.     public String doGetStudyFileDataList() {
  11.         return "啦啦啦,成功了";
  12.     }
  13. }
复制代码
结果 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81428

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表