前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >终于放弃了单调的 Swagger 了,选择了这款神器 Knife4j

终于放弃了单调的 Swagger 了,选择了这款神器 Knife4j

作者头像
芋道源码
发布于 2020-03-02 08:48:41
发布于 2020-03-02 08:48:41
1.4K00
代码可运行
举报
文章被收录于专栏:芋道源码1024芋道源码1024
运行总次数:0
代码可运行

来源:最美分享Coder

toutiao.com/i6789135368064074253

  • 一、介绍
  • 二、开源仓库
  • 三、功能特性
  • 四、功能预览
  • 五、使用简介
  • 六、总结

一、介绍

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!

二、开源仓库

  • Github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/xiaoymin/swagger-bootstrap-ui
  • 码云
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://gitee.com/xiaoym/knife4j

三、功能特性

  • 简洁

基于左右菜单式的布局方式,是更符合国人的操作习惯吧.文档更清晰...

  • 个性化配置

个性化配置项,支持接口地址、接口description属性、UI增强等个性化配置功能...

  • 增强

接口排序、Swagger资源保护、导出Markdown、参数缓存众多强大功能...

四、功能预览

  • 在线预览
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://knife4j.xiaominfo.com/doc.html
  • 选择不同接口
  • Authorize
  • swagger实体

包含了swagger实体的相关信息

  • swagger全局设置

全局参数设置

  • 离线文档导出

Knife4j提供导出4种格式的离线文档(Html\Markdown\Word\Pdf)

  • 个性化设置
  • api文档
  • 搜索功能

五、使用简介

  • 项目结构
  • 目前主要的模块
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
目前主要的模块包括:模块名称说明:knife4j为Java MVC框架集成Swagger的增强解决方案knife4j-admin云端Swagger接口文档注册管理中心,集成gateway网关对任意微服务文档进行组合集成knife4j-extensionchrome浏览器的增强swagger接口文档ui,快速渲染swagger资源knife4j-service为swagger服务的一系列接口服务程序knife4j-frontknife4j-spring-ui的纯前端静态版本,用于集成非Java语言使用swagger-bootstrap-uiknife4j的前身,最后发布版本是1.9.6
  • 单纯皮肤增强

不使用增强功能,纯粹换一个swagger的前端皮肤,这种情况是最简单的,你项目结构下无需变更

可以直接引用swagger-bootstrap-ui的最后一个版本1.9.6或者使用knife4j-spring-ui

老版本引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>swagger-bootstrap-ui</artifactId>
  <version>1.9.6</version>
</dependency>

新版本引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-ui</artifactId>
  <version>${lastVersion}</version>
</dependency>
  • Spring Boot项目单体架构使用增强功能

Spring Boot单体架构下,knife4j提供了starter供开发者快速使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-boot-starter</artifactId>
  <version>${knife4j.version}</version>
</dependency>

该包会引用所有的knife4j提供的资源,包括前端Ui的jar包

在Spring Cloud的微服务架构下,每个微服务其实并不需要引入前端的Ui资源,因此在每个微服务的Spring Boot项目下,引入knife4j提供的微服务starter

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-micro-spring-boot-starter</artifactId>
  <version>${knife4j.version}</version>
</dependency>

在网关聚合文档服务下,可以再把前端的ui资源引入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
   <groupId>com.github.xiaoymin</groupId>
   <artifactId>knife4j-spring-boot-starter</artifactId>
   <version>${knife4j.version}</version>
</dependency>

六、总结

针对knife4j的总结,无非就是牛逼来形容,切实的解决了swagger ui不够友好的问题,而且还可以集成到其他语言的api项目中,真真切切的需要感谢开发作者提供了这么好的工具供我们使用,小伙伴是不是心动了,赶紧去试试吧!enjoy it!



如果你喜欢这篇文章,喜欢,转发。

生活很美好,明天见(。・ω・。)ノ♡

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 芋道源码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深度学习之线性单元(梯度下降算法)(二)
线性的概念: "线性"="齐次性"+"可加性", "齐次性"是指类似于: f(ax)=af(x), "可加性"是指类似于: f(x+y)=f(x)+f(y),
李小白是一只喵
2020/04/24
7080
深度学习-从感知器到LSTM(目的是处理序列问题)
感知器——基础的全连接网络——线性单元到线性模型——梯度下降——神经网络和反向传播算法——循环神经网络——LSTM——LSTM-CRF
机器学习AI算法工程
2019/10/28
6530
深度学习-从感知器到LSTM(目的是处理序列问题)
深度学习概述
目前,关于神经网络的定义尚不统一,按美国神经网络学家Hecht Nielsen 的观点,神经网络的定义是:“神经网络是由多个非常简单的处理单元彼此按某种方式相互连接而形成的计算机系统,该系统靠其状态对外部输入信息的动态响应来处理信息”。
Ai学习的老章
2021/04/20
1K0
深度学习概述
深度学习与神经网络:单层感知机
今天这个文章让我们一起来学习下感知机: 一个传统的单层感知机如上图所示,其实理解起来很简单,我们可以直接理解为输入节点接受信号之后直接传输到输出节点,然后得到结果y. 就和上图一样,我们给出了权向量W
云时之间
2018/04/10
1.4K0
深度学习与神经网络:单层感知机
感知机--模型与策略
看到模型和策略,应该很快联想到了李航的《统计学习方法》,统计学习方法的三要素定义为:模型、策略、算法。 感知机 感知机是二分类的线性分类模型,输入为实例的特征向量,输出为实例的类别(取+1和-1
MachineLP
2018/01/09
6090
感知机--模型与策略
机器学习线性分类算法:感知器原理
感知器PLA是一种最简单,最基本的线性分类算法(二分类)。其前提是数据本身是线性可分的。 模型可以定义为 ,sign函数是阶跃函数,阈值决定取0或1。 模型选择的策略,利用经验损失函数衡量算法性能,由
机器学习AI算法工程
2018/03/14
1.7K0
机器学习线性分类算法:感知器原理
零基础入门深度学习 | 第三章:神经网络和反向传播算法
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习这个超热的技术,会不会感觉马上就out了? 现在救命稻草来了,《零基础入门深度学习》系列文章旨在讲帮助爱编程的你从零基础达到入门级水平。零基础意味着你不需要太多的数学知识,只要会写程序就行了,没错,这是专门为程序员写的文章。虽然文中会有很多公式你也许看不懂,但同时也会有更多的代码,程序员的你一定能看懂的(我周围是一群狂热的Clean Code程序员,所以我写的代码也不会
用户1332428
2018/03/09
3.8K0
零基础入门深度学习 | 第三章:神经网络和反向传播算法
多层网络与反向传播算法详解
本篇文章是感知机详解的继续,看本篇文章前最好先看上一篇文章或者有响应的神经网络学习与应用基础。 图1 多层前馈网络的决策区域 这里显示的网络是用来训练识别10种出现在“h_d”(例如“had”,“hi
昱良
2018/04/08
1.2K0
多层网络与反向传播算法详解
统计学习方法之感知机1.感知机模型2.学习策略3.学习算法4.源代码
1.感知机模型 在机器学习中,感知机(perceptron)是二分类的线性分类模型,属于监督学习算法。输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面。感知机旨在求出该超平面,为求得超平面导入了基于误分类的损失函数,利用梯度下降法 对损失函数进行最优化(最优化)。感知机的学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机模型对新的实例进行预测的,因此属于判别模型。感知机由Rosenblatt于1957年提出的
JasonhavenDai
2018/04/11
1K0
统计学习方法之感知机1.感知机模型2.学习策略3.学习算法4.源代码
入门 | 从感知机到深度神经网络,带你入坑深度学习
选自Medium 作者:Adi Chris 机器之心编译 参与:朱乾树、刘晓坤 机器学习工程师 Adi Chris 最近学习完吴恩达在 Coursera 上的最新课程后,决定写篇博客来记录下自己对这一领域的理解。他建议通过这种方式有效地深入理解一个学习主题。除此之外,也希望这篇博客可以帮助到那些有意入坑的朋友。 言归正传。在我正式介绍深度学习是什么东西之前,我想先引入一个简单的例子,借以帮助我们理解为什么需要深度神经网络。 同时,本文附有使用深度神经网络模型求解异或(XOR)问题的代码,发布在 GitHu
机器之心
2018/05/10
6600
零基础入门深度学习 | 第二章:线性单元和梯度下降
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就out了? 现在救命稻草来了,《零基础入门深度学习》系列文章旨在讲帮助爱编程的你从零基础达到入门级水平。零基础意味着你不需要太多的数学知识,只要会写程序就行了,没错,这是专门为程序员写的文章。虽然文中会有很多公式你也许看不懂,但同时也会有更多的代码,程序员的你一定能看懂的(我周围是一群狂热的Clean Cod
用户1332428
2018/03/09
3.2K0
零基础入门深度学习 | 第二章:线性单元和梯度下降
感知机(Perceptron)是怎么实现“知错能改”的?
感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此导入了基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式。感知机是神经网络与支持向量机的基础。 划重点:简单说就是个二分类的线性分类模型,感知机学习,就是通过训练数据集,求得感知机模
AI研习社
2018/03/28
1.2K0
感知机(Perceptron)是怎么实现“知错能改”的?
机器学习(7)之感知机python实现
关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 感知器PLA是一种最简单,最基本的线性分类算法(二分类)。其前提是数据本身是
昱良
2018/04/04
1.6K0
机器学习(7)之感知机python实现
入门机器学习(二)-------线性单元和梯度下降及其代码实现(代码实现)
通过上一篇文章,我们学会了一个简单的感知器,了解了阶跃函数(更喜欢叫二分类,简单明了哈哈),还有训练感知器的感知器规则。在这里学习另一种感知器——线性单元,通过此线性单元来了解机器学习的一些基本概念, 比如模型,目标函数,算法优化等。以此来简单了解机器学习。
andrew_a
2019/07/30
5680
入门机器学习(二)-------线性单元和梯度下降及其代码实现(代码实现)
感知机的对偶形式「建议收藏」
首先声明感知机的对偶形式与原始形式并没有多大的区别,运算的过程都是一样的,但通过对偶形式会事先计算好一些步骤的结果并存储到Gray矩阵中,因此可以加快一些运算速度,数据越多节省的计算次数就越多,因此比原始形式更加的优化。 首先我们介绍一下感知机的原始形式,之后与其对比。
全栈程序员站长
2022/11/01
4550
感知机的对偶形式「建议收藏」
感知机模型(perceptron)
将点分成两类(这条直线更一般的名称叫做超平面);另外感知机模型对数据的假设是:数据是线性可分的;比如下图所示的数据所对应的就不是一个线性可分的输入空间
王诗翔呀
2021/04/07
7800
感知机模型(perceptron)
感知机初探
感知机模型的假设空间:定义在特征空间中的所有线性分类模型(linear classification model)或线性分类器(linear classifier)即函数集合:
王强
2018/08/09
3580
感知机初探
【干货】一种直观的方法认识梯度下降
【导读】本文是深度学习专家Thalles Silva分享的一篇技术博客,主要讲解机器学习算法中的梯度下降。首先从形象的角度介绍梯度下降:梯度、偏导数等。然后,根据一个具体的例子“根据历史数据来预测当前
WZEARW
2018/04/08
1.2K0
【干货】一种直观的方法认识梯度下降
感知机
感知机本质可以看作是输入空间(特征空间)中将实例划分为正负两类的分离超平面。其基于误分类的损失函数,并利用梯度下降法对损失函数进行极小化进行求解。
hotarugali
2022/04/25
7830
感知器算法
理解并掌握感知机模型的定义以及几何含义,编写一个简单的使用感知机模型进行判别的例子。
不去幼儿园
2024/12/03
1510
感知器算法
推荐阅读
相关推荐
深度学习之线性单元(梯度下降算法)(二)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验