knife4j API文档生成使用流程及详解
目录
初始化流程
详细注解分析
@Api
@ApiOperation
@ApiModelProperty
@ApiImplicitParam
@ApiImplicitParams
@ApiIgnore
初始化流程
1:pom文件引入相关依赖
<!--api接口文档生成--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.0.0</version></dependency>
2:创建配置类
package com.example.springboot_demo.config;/****/
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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {//配置Swagger2的Docket的Bean实例@Bean public Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2)// apiInfo():配置 API 的一些基本信息,比如:文档标题title,文档描述 description,文档版本号version.apiInfo(apiInfo())// select():生成 API 文档的选择器,用于指定要生成哪些 API 文档.select()// apis():指定要生成哪个包下的 API 文档.apis(RequestHandlerSelectors.basePackage("com.example.springboot_demo.controller"))// paths():指定要生成哪个 URL 匹配模式下的 API 文档。这里使用 PathSelectors.any(),表示生成所有的 API 文档。.paths(PathSelectors.any()) .build();}//文档信息配置private ApiInfo apiInfo() {return new ApiInfoBuilder()// 文档标题 .title("微博项目") // 文档描述信息.description("微博项目在线API文档")// 文档版本号 .version("1.0").build(); }
}
3:默认访问域名+端口+doc.html
详细注解分析
@Api
类上
tags:配置模块的名称
@ApiOperation
方法上
value:配置业务名称
@ApiModelProperty
bean类属性上 属性名参数说明
value:参数中文名称
required:参数是否必填
example:配置示例值
@ApiImplicitParam
方法上
name:指定参数名称
value:配置参数名称
dataType:配置数据类型
required:是否必填true/false
example:示例值
@ApiImplicitParams
value:参数值 示例:
{@ApiImplicitParam(name = "id", value = "微博", required=true, dataType = "int"),@ApiImplicitParam(name = "username", value = "用户名", required=true)
}
@ApiIgnore
添加在处理请求的方法的参数上,用于表示API文档框架应该忽略此参数
@ApiOperationSupport
order:排序编号
knife4j API文档生成使用流程及详解相关推荐
- apiDoc 一款很不错api文档生成工具
apiDoc 一款很不错api文档生成工具,在开发接口的时候,需要给同事看相应的接口文档.给大家推荐一个生成文档的工具--apiDoc,最后生成的文档以网页的形式发布,方便快捷,便于阅读. 创建项目目 ...
- AspnetCore 2.0 自动API文档生成组件,支持protobuffer
关于 API文档自动生成,用于对APP端的开发帮助文档生成,默认ProtoBuffer传输格式. 本项目并不是RESTful风格,是面向功能的API类型.ApiDoc的作用是根据定义好的API接口和注 ...
- php自写api文档生成工具
框架改版后的第二个版本定下来了,这两天也比较轻松,于是就折腾给项目建个好看的api文档. 各种折腾.先是折腾phpDocumentor2,用phpdoc开源工具来建立文档,好不容易安装成功,各个模板都 ...
- java+swagger+侵入,一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案
一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案 一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案 作者:互联网活化石 来源:http://suo.im/5Si ...
- 猿创征文|小而巧的API文档生成工具之smart-doc
文章目录 smart-doc介绍 smart-doc特性 smart-doc的最佳搭档 谁在使用smart-doc smart-doc的优缺点 smart-doc和swagger区别比较 smart- ...
- RESTful API 文档生成神器Wisdom RESTClient
REST Client tool for testing RESTful API. This tool supports automated testing and automatically gen ...
- 再见丑陋的 SwaggerUI,这款API文档生成神器界面更炫酷,逼格更高!
欢迎关注方志朋的博客,回复"666"获面试宝典 一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger.Swagger 是一个规范和完整的框架,用于 ...
- 一款零注解侵入的 API 文档生成工具,你用过吗?
以下文章来源方志朋的博客,回复"666"获面试宝典 介绍 smart-doc是一款同时支持JAVA REST API和Apache Dubbo RPC接口文档生成的工具,smart ...
- delphi ui编辑工具源码_一种无侵入比swagger-ui兼容性更好更简单的API文档生成方案
在后端项目中,难免遇到需要写接口文档方便第三方调用的场景,一般业界最常用的方案是使用swagger.Java项目中,一般采用springfox项目,它集成了swagger和swagger-ui,不需要 ...
最新文章
- 不管走多远,不要忘记停下来想想当初为何出发
- Firebug快速入门(二)
- Eclipse2020安装了最新版本的JDK却无法打开,提示版本太老的完美解决方法
- 突破模糊定性分析,批归一化和权重衰减的球面优化机制
- 使用Xamarin开发手机聊天程序 -- 基础篇(大量图文讲解 step by step,附源码下载)
- 基于对象的JavaScript编程
- epoll边缘触发_4.2.3、epoll:水平触发与边缘触发
- hdu-1862-EXCEL排序
- Chrome浏览器安装vue-devtools插件
- cocos2d(背景图片循环滚动)
- ios Quartz 各种绘制图形用法
- Eclipse的一些常用的快捷键
- 计算机学硕比专硕累吗,2019计算机考研常识:学硕与专硕对比
- ios 扫描本地音乐_iOS如何获取本地的音乐歌曲mp3的信息数据
- 成绩造假!你看到400+大佬,有可能是P图!
- 形式化方法 Assignment 2: Proof engineering
- 5.1.7—二叉树的遍历—Recover Binary Sear Tree
- 【PWM】从stm32到pwm到OLED屏幕调光到晚上不要玩手机
- Fuchsia编译与真机安装
- java实现海盗比酒量
热门文章
- 情侣一起听歌 同步音乐播放 音源来自网易云音乐 异地同步 同步切歌 切换歌曲
- orderedset和set
- 未授予用户在此计算机上的请求登录类型
- ASP AND CLASS
- Web 应用漏洞攻防
- 【SPSS】二项分布检验详细操作教程(附案例实战)
- Bravo, Dreamworks
- 终于,朋友圈要清净些了
- java Struts2 过滤器和拦截器的区别
- JAVA中parameterized,谈谈Java类型中ParameterizedType,GenericArrayType,TypeVariabl,WildcardType...