基于Maven的YAPI文档生成插件yapidoc-maven-plugin

保姆级文档-接口平台Yapi及接口文档生成插件部署使用 文章目录前言Yapi部署-dockerMongoDB部署Yapi部署接口文档生成插件 前言 先来描述下背景:由于新公司业务属于自研产品开发,但是发现各产品业务线对于接口文档暂时还是通过集成Swagger来维护,准确来说是knife4j(Swagger的增强解决方案)。但是对于产品型开发而言,会产生一些如项目代码侵入性高、版本兼容问题、文档完全规范化较难、团队无法在线协同等的问题。个人建议Swagger更适合用于一些对接口规范及维护要求较低的行业项目类软件开发,相对于开发而言,接口的文档生成及调试更加方便快捷 阅读详情

功能介绍

自动扫描Spring的Controller代码并生成OpenAPI文档,无代码侵入。
对比与Swageer的代码侵入显得更加简洁。
项目地址:https://gitee.com/laofeng/yapidoc-maven-plugin

诞生原因

在开发的过程中,尤其是联调的过程中,接口出入参的修改是很频繁的一件事。这就导致开发过程中,修改了接口参数缺忘记修改接口文档。
因此需要一个工具能够自动读取Java类中的注释来生成文档。

对比Swagger

Springfox的代码侵入性太强了,使得代码一点优雅性都没有,注解上写了说明那还要写注释么?
而且Springfox的功能太强大,几乎能够生成所有类型的文档,但实际使用中最多的还是使用JSON作为DSL来描述,所以这个项目目前只支持了使用JSON进行出入参描述。

基本特性

yapidoc最终会把扫描路径下的所有controller解析成OpenApi 3.0协议。

controller解析:会扫描带有@Controller和@RestController的类。

URL解析:SpringMvc中定义的基本Mapping

入参解析: 如果使用@RequestBody注解则解析成JSON格式、否则就解析成param格式。

出参解析:会把所有的类都解析成JSON格式。

Maven插件使用方式

插件引入:

<plugin>
    <artifactId>yapidoc-maven-plugin</artifactId>
    <groupId>com.eeeffff.yapidoc</groupId>
    <version>1.0.1</version>
    <configuration>
        <!--Yapi远程服务器地址-->
        <yapiUrl>http://yapi.xxx.com/</yapiUrl>
        <!-- 修改成特定项目的Token -->
        <yapiProjectToken>12345654345654334565434</yapiProjectToken>
        <!-- 指定只需要解析的Controller的名称,不需要指定包名,多个以英文逗号分隔,可选参数 -->
        <controllers><controllers>
        <!-- 指定只需要解析Controller所在的包名,多个以英文逗号分隔,可选参数 -->
        <packages><packages>
    </configuration>
    <executions>
        <execution>
            <id>doc-dependencies</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>yapidoc</goal>
            </goals>
        </execution>
    </executions>
</plugin>

插件默认为prepare-package生命周期,运行有两种方式:

mvn yapidoc:yapidoc

或

mvn prepare-package -Dmaven.test.skip

以下为自动生成YAPI接口定义文档的截图示例:
在这里插入图片描述

YAPI导出word文件,自定义模板,方便有效;支持指定导出某个接口docx文档;附件是全部代码包括前端后台,依赖包 yapi二次开发环境:win10系统 node版本:12.12.0 yapi版本:1.9.2 支持升级最新版本 ykit版本:最新0.8 开发环境部署命令:前端(npm run dev-client 建议用git Bash命令窗口打开)后台(npm run dev-server) 生产环境部署:node server/app.js ------------------------------------------------ 1、yapi导出word自定义模版 2、支持选择某个接口导出docx文档 3、支持自定义模版 ------------------------------------------------ 立即下载

相关推荐

yapi中加入doc导出组件的ykit.config.js配置

由于doc插件编译的问题,所有质量准备了已经修改好的的ykit.config.js配置,只需要放到yapi部署项目的vendors目录下即可,可以对源的配置文件进行备份,亦可以通过我的博客自己配置https://blog.youkuaiyun.com/p715306030/article/details/124836008,也可以去GitHub上查看大声的解决方案https://github.com/YMFE/yapi/issues/1865

yapi接口导出为word_Package - yapi-plugin-export-docx-data

YAPI导出word文件插件在平台”数据导出“下拉菜单增加”docx“选项,导出word文件方案docxtemplater模板渲染数据,生成word文件数据格式{curProjectName: '',// 与“数据导出”-“json”,导出的json文件数据结构保持一致apis: [{"index": 0,"name": "公共分类","desc": "公共分类","add_time": 1551...

weixin_35510630的博客 2773

yapily-api-implementation-maven-plugin

yapily-api-maven-plugin 自动处理API服务器存根/客户端SDK的生成,以实现服务实现 用法 将插件添加到pom.xml < plugin> < groupId>com.yapily</ groupId> < artifactId>yapily-api-maven-plugin</ artifactId> < executions> < execution> < goals> < goal>generate</ goal> </ goals> < configuration> < apiType>yapily-platform-security</ apiType

Centos7 - 时区设置及时间同步 - ntpdate

首先同步时间 yum install -y ntpdate ntpdate -u cn.pool.ntp.org 然后设置中国时区(北京时间) timedatectl set-timezone Asia/Shanghai

AYXYJ 3936

TC8测试TCP-UNACCEPTABLE-04/006

TC8测试TCP-UNACCEPTABLE-04/006

Arduino跑通ssd1306_spi显示屏

代码首先,您需要下载两个库:● Adafruit GFX库,这是核心图形库,提供了一组通用的图形基元(点、线、圆等)。它需要与特定于硬件的库对应。● Adafruit SSD-1306 OLED显示库,这是基于SSD1306驱动程序的OLED显示器的库。解压缩这两个库并将它们添加到Arduino库文件夹中,然后运行Arduino IDE并从OLED库中打开SPI示例。

Leo ICer的博客 1493

小技巧:如何使用Java API从Maven仓库下载Maven Artifact

最近在开发中遇到需要从Maven仓库下载Maven Artifact(GAV)的场景,遂有此篇小文。 目的 可以在应用程序中根据Maven坐标(GroupID,ArtifactID,Version,即GAV)从maven仓库中下载maven jar到本地。 Eclipse Aether项目 Eclipse 的Aether项目(Wiki)能够满足这个需求,不止于此,它还能同时下载某个GAV的所有...

思码堂 2630

国产PHY芯片YT8512H替代LAN8742A的实战指南(STM32F407平台)

本文详细介绍了在STM32F407平台上,使用国产PHY芯片YT8512H替代LAN8742A的完整实战过程。文章深入剖析了硬件设计中的关键信号连接差异(如CRS_DV与RXDV复用)、时钟布线要点,并提供了软件驱动修改、PHY配置及调试排错的系统指南,旨在帮助工程师高效完成国产化替代,规避常见陷阱。

defi6farmer的博客 854

maven的详细安装与使用(实战篇)

maven的详细安装与使用(实战篇)

SoulNone的博客 758

基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验

本文详细介绍了基于Matlab-Simulink的大林算法控制系统设计与振铃消除实验。通过分析纯滞后系统的控制难题,探讨大林算法在工业控制中的应用优势,并提供Matlab-Simulink环境搭建、控制器D(z)设计、振铃消除及仿真实验的完整流程。文章还对比了大林算法与PID控制的性能差异,为工程实践提供参考。

dropout6artist的博客 795

Docker部署OnlyOffice踩坑实录:解决editor.bin下载失败的3种姿势

本文详细解析了Docker部署OnlyOffice时editor.bin下载失败的常见原因,并提供了三种核心解决方案。重点剖析了容器网络配置、Nginx反向代理(特别是proxy_pass设置)以及安全策略调整,帮助开发者彻底解决静态资源加载问题,确保文档协作平台稳定运行。

weixin_29281941的博客 870

idea中使用yapi插件自动生成yapi接口文档

1、在idea的plugin中搜索easy-yapi插件 2、安装后重启idea 3、打开setting,在Other Settings下出现EasyApi菜单项,点开出现如下界面 4、填充Yapi地址 5、打开我们想要生成Yapi文档的Controller中 6、同时按住 Shift + Alt + E 即会出现如下弹窗 7、点击绿色钩子后,会弹出一个输入框,让你输入Yapi对应项目下的Token 8、打开Yapi中对应的项目,在设置下的token配置中,找到对应的token,点击右边的复制

牙刷冰冰的博客 2万+

Ubuntu 20.04下IgH EtherCAT主站部署实战

本文详细介绍了在Ubuntu 20.04系统上部署IgH EtherCAT主站的完整流程,包括环境准备、源码编译、内核模块配置、网络接口设置及实时性优化等关键步骤。通过实战案例和常见问题排查,帮助开发者快速掌握EtherCAT主站部署技巧,提升工业自动化系统的稳定性和实时性。

weixin_30596343的博客 1070

Day1 苍穹外卖项目 软件开发整体介绍、项目介绍、开发环境搭建、导入接口文档(YAPI)、Swagger(生成测试接口)、git版本控制、maven分模块开发

项目经理:对整个项目负责,任务分配、把控进度产品经理:进行需求调研,输出需求调研文档、产品原型等,产品原型就是html网页。UI设计师:根据产品原型输出界面效果图架构师:项目整体架构设计、技术选型等开发工程师:代码实现测试工程师:编写测试用例,输出测试报告运维工程师:软件环境搭建、项目上线功能架构功能架构:体现项目中的业务功能模块。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。可以代替postman。

2301_77358195的博客 1734

sentaurus学习笔记(HFET_pGate_GaN仿真)(五)

`(sdedr:define-constant-profile`和`(sdedr:define-constant-profile-region`命令用于定义并应用一个恒定的活性硼掺杂浓度剖面`"ndop_GaN_gate_const"`到氮化镓栅极层上,其值为`NpGaN_gate`。- `"Oxide"`指定了这一层的材料名称(在这里代表氧化层),而`"nucleation"`是这一层在仿真中的标识名称。- `"GaN"`指定了这一层的材料名称,而`"GaN_gate"`是这一层在仿真中的标识名称。

qq_52640792的博客 940

【fpdlink显示】DS90UB948关于941连接948 GPIO调试问题

1. 前言 使用一个941连接2 948显示: 941的GPIO0/1/2/3到前948的GPIO0/1/2/3和941的D_GPIO0/1/2/3到948的GPIO0/1/2/3。 设置gpio3输出,则941的D_GPIO3设置高,而948的gpio3设置不高; 但设置gpio3输入后,看到941的D_GPIO3跟随948的gpio3变化。 2. 原理图连接 3. 测试代码 static int du90ub941_enable_port(struct goodix_ts_d

jzwjzw19900922的博客 2555

自定义maven插件:自动生成API的word文档

继上次开发完Maven插件开发:根据库表生成实体类&amp;根据实体类生成库表之后,博主对开发maven插件喜爱得一塌糊涂。这不,今天给大家带来了《自定义maven插件:自动生成API的word文档》。 老规矩,先上镇楼图。(读者们也可以研究下Swagger2生成doc文档) 开门见山,直接上开发教程!首先是插件配置: &lt;plugin&gt; &l...

周先生丶的博客 5623

向华为学习——解读158页 华为敏捷园区网技术解决方案【附全文阅读】

华为敏捷园区网解决方案通过策略随行和体验随身技术,满足移动办公场景下的网络需求。该方案采用敏捷交换机和防火墙自动执行策略配置,实现用户身份认证与业务策略的无缝衔接,且策略配置与IP地址解耦,简化了管理流程。相比传统技术,该方案有效解决了用户分级、QoS保障、无线接入等关键问题,确保用户在移动过程中获得一致的网络体验。

cdfunlove的博客 379

- 前后端分离开发- Yapi- Swagger- 项目部署

- 前后端分离开发 - Yapi - Swagger - 项目部署

weixin_51980047的博客 977

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【IDEA】idea maven插件smart-doc-maven-plugin报红

smart-doc-maven-plugin报红

初叙 1631

yapi接口导出为word_接口文档神器YApi

什么是YApi官网上是这么介绍的:YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台 hellosean1025.github.io/yapi可以这么说YApi兼具swagger,rap2,postman的各项优点why YApi如果你想要一个好用的接口管理平台,那么你需要YApi或swagger。YApi支持各种数据导入,实现无缝迁移。如果你想mock接口,那么你需要YApi...

weixin_39643244的博客 1267

YApi 有哪些成熟的 IDEA 和 VS Code 插件?

YApi 有哪些成熟的 IDEA 和 VS Code 插件?YApi 有成熟的 IDEA 和 VS Code 插件,核心用于接口文档自动生成、上传与管理,以下是主流插件及快速使用指南。

魏波 809

yapi接口导出为word_还在手工写接口测试文档,已经out了

接口文档,顾名思义就是对接口说明的文档。好的接口文档包含了对接口URL,参数以及输出内容的说明,我们参照接口文档就能编写出一个个的测试用例。而且接口文档详细的话,测试用例编写起来就会比较简单,不容易遗漏。如果接口文档信息不全或是没有接口文档的情况下,领导要求我们做接口自动化测试,这无异是一个非常艰辛的任务。但是编写接口文档的工作量很大,怎么办呢?有什么自动化工具可以协助我们生成文档呢?众里寻他千百...

weixin_30060575的博客 2372

node命令行工具实战(二)

yapiDoc 说明 yapidoc 是自己在apidoc文档编写的基础上,实现一键同步api文档到yapi的命令行工具,同时也提供swagger文档一键同步到yapi, api接口请按照apidoc 规范编写 npm install -g apidoc-swagger npm install -g yapidoc 使用文档 查看帮助文档 $ yapidoc -h 用法: i...

小喽喽 182

eclipse 编辑java慢_Eclipse编辑JS响应慢,复制粘贴卡顿的解决方案

我使用的是官网标准版的eclipse4.3 for javaEE, 写JS时卡的简直无法忍受,尝试去掉所有的validate,包括菜单和项目属性中的都没作用。整个人都急疯了~后来在项目根目录.project文件中, 把红色对应的配置段全部删去后。 欧拉拉~ 问题解决ucomweborg.eclipse.jdt.core.javabuilderorg.eclipse.wst.common.proje...

weixin_36269724的博客 209

swagger离线文档导出html(maven插件版)

目录 一 前言 1、swagger作为出色的在线api生成工具,在项目中经常作为前后端接口对接的利器。 2、本文不阐述swagger及其配置,重点阐述如何导出swagger文档,无需代码编写。 二 实现 1、maven插件配置 2、配置结果 3、配置详解 4、使用流程 5、项目githubhttps://github.com/HandsomeMars/swagger-...

Mars 2865
上一篇: HASentinel被GITEE推荐了
下一篇: Nacos配置中心回调机制
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值