如何实现knife4j导出离线接口文档
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"如何实现knife4j导出离线接口文档",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何实现knife4j导出离线接口文档"吧!** 导
千家信息网最后更新 2026年10月31日如何实现knife4j导出离线接口文档
本篇内容主要讲解"如何实现knife4j导出离线接口文档",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何实现knife4j导出离线接口文档"吧!
** 导出离线接口文档,妈妈再也不用让我手动写接口文档了 **
1 引入依赖
io.springfox springfox-boot-starter 3.0.0
` com.github.xiaoymin knife4j-spring-boot-starter 3.0.2
2 增加swagger配置类
package com.example.demo.conf;import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;import io.swagger.annotations.Api;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.context.request.async.DeferredResult;import springfox.documentation.builders.*;import springfox.documentation.oas.annotations.EnableOpenApi;import springfox.documentation.service.*;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spi.service.contexts.SecurityContext;import springfox.documentation.spring.web.plugins.Docket;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * swagger 配置 * * @author xmtx */@Configuration@EnableOpenApi@EnableKnife4jpublic class Swagger3Config { @Bean public Docket systemApi() { return new Docket(DocumentationType.SWAGGER_2) .groupName("小明童鞋demo") .genericModelSubstitutes(DeferredResult.class).useDefaultResponseMessages(false).forCodeGeneration(true) .select() .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) // 这里写controller 所在的路径 .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) .paths(PathSelectors.any()).build() .pathMapping("/") // 暂时不加权限认证// .securitySchemes(Collections.singletonList(securitySchema()))// .securityContexts(Collections.singletonList(securityContext())) .apiInfo(systemApiInfo()); } private ApiInfo systemApiInfo() { return new ApiInfoBuilder() .title("小明童鞋demo") .description("测试swagger整合knife4j生成离线接口文档") .termsOfServiceUrl("https://my.oschina.net/xiaomingnevermind") .contact(new Contact("xmtx", "", "xmtx.2015@gmail.com")) .version("1.0") .build(); } /** * 生成全局通用参数 * * @return */ private List getGlobalRequestParameters() { List parameters = new ArrayList<>(); parameters.add(new RequestParameterBuilder() .name("x-access-token") .description("令牌") .required(false) .in(ParameterType.HEADER) .build()); parameters.add(new RequestParameterBuilder() .name("Equipment-Type") .description("产品类型") .required(false) .in(ParameterType.HEADER) .build()); return parameters; } /** * 生成通用响应信息 * * @return */ private List getGlobalResponseMessage() { List responseList = new ArrayList<>(); responseList.add(new ResponseBuilder().code("404").description("找不到资源").build()); return responseList; }//// private OAuth securitySchema() {//// List authorizationScopeList = new ArrayList();// List grantTypes = new ArrayList();// GrantType creGrant = new ResourceOwnerPasswordCredentialsGrant("/oauth/token");//// grantTypes.add(creGrant);//// return new OAuth("oauth3schema", authorizationScopeList, grantTypes);//// }//// private SecurityContext securityContext() {// return SecurityContext.builder()// .securityReferences(defaultAuth())// .forPaths(PathSelectors.ant("/v1/api/**"))// .build();// } private List defaultAuth() { final AuthorizationScope[] authorizationScopes = new AuthorizationScope[0]; return Collections.singletonList(new SecurityReference("oauth3schema", authorizationScopes)); }} 1. 3. 编写一个controller进行测试
private static final Logger log = LoggerFactory.getLogger(AspectController.class);@Autowiredprivate AspectService aspectService;@ApiOperation(value = "测试getaspect")@GetMapping(value = "/getaspect")public String getAspect(@ApiParam("名称") String name, @ApiParam Integer age) throws InterruptedException { AspectBean aspectBean = new AspectBean(); aspectBean.setAge(age); aspectBean.setBirthday(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date().getTime())); aspectBean.setSex(1); aspectBean.setName(name); return JSON.toJSONString(aspectService.testAspect(aspectBean));}@PostMapping(value = "/postaspect")public String postAspect(@RequestBody AspectBean aspectBean) throws InterruptedException { return JSON.toJSONString(aspectService.testAspect(aspectBean));}@GetMapping(value = "/init")public boolean init() { return aspectService.init();}1. 4. 查看效果图


到此,相信大家对"如何实现knife4j导出离线接口文档"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
接口
文档
测试
生成
内容
童鞋
小明
学习
配置
实用
更深
不用
产品
令牌
信息
全局
兴趣
参数
名称
妈妈
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
互联网佳科技有限公司
工业互联网科技新基建
期待互联网科技
互联网科技作文
唐信互联网科技
互联网科技股午盘股票涨跌
剑昆互联网络科技有限公司临桂
互联网和黑科技的看法
武汉健翔互联网络科技有限公司
岳阳华臻互联网科技有限公司
阿大互联网科技有限公司
哈尔滨屹滨互联网科技有限公司
翼展科技 首家互联网医院
互联网在线教育科技创业
阿里互联网科技企业
张召忠谈中国互联网科技
互联网科技对化妆品行业
互联网科技大佬云集
高科技和互联网的现代国家
什么是科技互联网
互联网科技图片
科技服务与互联网
火传媒上海互联网科技
一五八零互联网科技
汽车互联网创新科技园
南山科技园互联网公司有哪些
互联网科技的全部知识
黑龙江互联网科技公司
优雇互联网科技有限公司