当前位置: 首页 > news >正文

Java中SpringBoot组件集成接入【Knife4j接口文档(swagger增强)】

Java中SpringBoot组件集成接入【Knife4j接口文档】

    • 1.Knife4j介绍
    • 2.maven依赖
    • 3.配置类
    • 4.常用注解使用
      • 1.实体类及属性(@ApiModel和@ApiModelProperty)
      • 2.控制类及方法(@Api、@ApiOperation、@ApiImplicitParam、 @ApiResponses)
      • 3.@ApiOperationSupport注解未生效的解决方法
    • 5.效果展示
    • 6.参考文章

1.Knife4j介绍

Knife4j是一款基于Swagger的开源API文档管理工具,具有易用性和丰富的功能。它可以方便地生成和展示RESTful API接口文档,并提供了强大的交互式界面。

Knife4j具有以下主要特点:

  1. 集成Swagger:Knife4j是在Swagger UI基础上进行扩展和优化的,能够完美兼容Swagger的注解和配置,生成符合OpenAPI规范的API文档。
  2. 强大的交互式界面:Knife4j的界面友好、美观,提供了接口测试、调试和在线调用等功能,使得开发者可以更方便地与API进行交互。
  3. 自动生成接口文档:通过Knife4j的各种注解,开发人员可以方便地在代码中定义接口信息和参数说明,然后Knife4j会根据这些注解自动生成API文档,减少了手动维护文档的工作量。
  4. 接口权限管理:Knife4j支持对API接口进行权限管理,可以通过配置权限策略,限制只有授权用户才能够访问和调用指定的接口。
  5. 支持自定义扩展:Knife4j支持自定义主题样式、接口分类、接口分组等功能,可以根据实际需求进行个性化定制。

总的来说,Knife4j简化了API文档的编写和管理工作,提供了交互性强、易于使用的界面,方便开发团队进行接口开发和测试工作。它是一款非常实用的API文档管理工具。
参考:Knife4j官方文档

2.maven依赖

    <!--knife4j依赖库--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version></dependency>

3.配置类

在这里插入图片描述

import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.env.Profiles;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors

相关文章:

  • 20个城市公交线路数据分享,Shp+excel格式,2020年,城市发展、公共设施规划必备数据,已实现数据可视化
  • 中兴通讯5G-A场景突破成果显著,获得行业高度认可
  • dockerfile文件详解
  • C++类和对象(中)
  • Influxdb2修改管理员密码
  • 【MySQL】ANY函数 的巧用(筛选字段 > ANY(语句) 和 筛选字段 < ANY(语句))
  • 【80211-2022】【学习记录】【第九章】Duration/ID 字段(Qos STA)
  • L1-012 计算指数(Java)
  • go 中的 fmt 占位符
  • 【React】常见疑问的整理
  • thinkphp递归实现无限级子分类合并上级children
  • 【idea】idea插件编写教程,博主原创idea插件 欢迎下载
  • Openharmony 对应Android基本系统信息
  • 【Linux系统编程二十六】:线程控制与线程特性(Linux中线程库/线程创建/线程退出/线程等待)
  • 路径规划(二):Dijkstra算法
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 2017-09-12 前端日报
  • Angular2开发踩坑系列-生产环境编译
  • FastReport在线报表设计器工作原理
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JAVA多线程机制解析-volatilesynchronized
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React的组件模式
  • scala基础语法(二)
  • Webpack 4 学习01(基础配置)
  • 从setTimeout-setInterval看JS线程
  • 前端js -- this指向总结。
  • 前言-如何学习区块链
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 数据仓库的几种建模方法
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一份游戏开发学习路线
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 用Visual Studio开发以太坊智能合约
  • hi-nginx-1.3.4编译安装
  • #WEB前端(HTML属性)
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • $(selector).each()和$.each()的区别
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (八)c52学习之旅-中断实验
  • (编译到47%失败)to be deleted
  • (三十五)大数据实战——Superset可视化平台搭建
  • (转)3D模板阴影原理
  • (转)shell调试方法
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .gitignore文件—git忽略文件
  • .java 9 找不到符号_java找不到符号
  • .Net MVC + EF搭建学生管理系统
  • .net mvc 获取url中controller和action
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证