IDEA:Idea 集成 EasyYApi 插件实现接口文档的生成与更新

news2024/12/23 18:58:12

我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。如果小伙伴们觉得不错就一键三连吧~

在这里插入图片描述

声明:文章原文来源处:

  • https://blog.csdn.net/weixin_40863968/article/details/122432678
  • https://www.jianshu.com/p/cd915908cb96

    文章目录

    • 一、前言
    • 二、正文
      • 1、YApi 介绍
        • 1、YApi 平台介绍
        • 2、YApi 特性
        • 3、更新单个API
      • 2、postman方式
        • 1、配置
        • 2、使用
      • 其他配置方式
        • 1、第一步:
        • 第二步:

一、前言

API 这个词我相信大家都不陌生,平时的工作中也会使用到一些api管理工具,比如:YApiswaggerpostmanapidocshowDocrap2等。今天主要介绍下 YApi 以及在 idea 中集成插件实现自动生成与更新 api 文档。

二、正文

1、YApi 介绍

  • YApi gitee 地址
  • YApi github 地址
  • YApi 官方文档地址

下面摘录部分内容来大致介绍YApi,更加深入及详细的内容请移步到上面的链接进行查看。

1、YApi 平台介绍

  • YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API。
  • YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

2、YApi 特性

  • 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
  • 支持 postman,har,swagger 数据导入
  • 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
  • 类似 postman 的接口调试
  • 自动化测试,支持对 Response 断言
  • MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
  • 免费开源,内网部署,信息再也不怕泄露了

介绍完 YApi 之后,那么接下来进入正题,来看看怎么实现 Idea 与 YApi 的无缝衔接吧。

先看一下接口文档生成的效果吧:

接下来我们开始进行同步接口文档的操作:
【第一步】: 打开Idea => File => Settings => Plugins => 搜索 EasyYApi 插件并安装

在这里插入图片描述

【第二步】: 安装完成后重启Idea

【第三步】: 打开Idea => Settings => Other Settings => EasyApi 设置,在 Yapi 这块区域中中的 server表单中输入我们公司或则个人自己的 Yapi 访问地址,比如:http://127.0.0.1:8677

【第四步】: 找到对应的需要创建或者更新的controller,鼠标右键,单击 Export Yapi

  • 第一次执行Export Yapi 会弹出一个框让我们输入Token,如下图:`

注意: 上图中的Token来源在 Yapi 服务界面【test】分组下的【test-yapi】项目设置中,【test】分组以及【test-yapi】项目都是我提前创建好的,各位可以在自己创建的项目中找到设置 => token 配置面板获取 Token

经过上面四步,我们的文档就一键同步到了 YApi , 以后如果controller中接口有变动则再次执行上文中的【第四步】即可同步最新接口到 YApi了


下面是对应的测试代码,通过代码对照这看生成的接口文档可以更加准确的了解Yapi额

controller:

/**
 * 测试 Yapi Controller
 *
 * @author maodudu
 * @version 1.0
 * @date 2022/6/19 21:16
 */
@RestController
public class TestYapiController {

    /**
     * 测试 yapi
     * @param id id
     * @return 结果
     */
    @PostMapping("/yapi/test/{id}")
    public TestYapiVO test(@PathVariable("id") String id){
        return null;
    }
} 

返回结果TestYapiVO :

/**
 * 测试Yapi VO
 *
 * @author maodudu
 * @version 1.0
 * @date 2022/6/19 21:17
 */
public class TestYapiVO {
    /**
     * 名称
     */
    private String name;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 性别
     */
    private SexEnum sex;

    /**
     * 资产
     */
    private BigDecimal money;

    /**
     * 朋友列表
     */
    private List<FriendBO> friends;

    /**
     * 朋友BO
     */
    public static class FriendBO {
        /**
         * 朋友名称
         */
        private String friendName;

        /**
         * 朋友性别
         */
        private SexEnum friendSex;
    }
} 

性别枚举类:

/**
 * 性别枚举类
 *
 * @author maodudu
 * @version 1.0
 * @date 2022/6/19 21:27
 */
public enum SexEnum {
    /**
     * 男
     */
    MAN,

    /**
     * 女
     */
    WOMAN,

    ;

} 

3、更新单个API

在上文的基础上,如果有一个controller中有多个接口,我们只想更新其中某一个接口应该怎么操作呢?

【步骤一】: 在对应controller 鼠标右键,单击 Export Api

【步骤二】: 在弹出的面板中按需选择要更新的接口,回车即可


扩展知识点:

  • 当我们第一次执行上文中的【第四步】同步接口到 YApi,我们输入Token之后,我们的 idea 中会对其进行保存,可通过 Idea => Settings => Other Settings => EasyApi 面板查看

  • 注意: controller.java 文件必须要有文件注释,文件中的方法需要添加注解 @RequestMapping/@PostMapping 等任意一个,不添加无法识别方法为接口方法 。就算父类方法添加了注解 @RequestMapping/@PostMapping 也无法识别,方法必须添加方法注释(接口名称就是根据方法注释生成)
    在这里插入图片描述

2、postman方式

1、配置

  • 在下方图片中 Postman > token 位置配置 Postman 中项目对应的 token Postman token获取Postman Integrations Dashboard
    在这里插入图片描述

2、使用

  • 右键Controller类 > Generate > Export Postman
    在这里插入图片描述

其他配置方式

1、第一步:

  • Easy Yapi 提供了额外使用的配置文件(以设置 api 指定返回值为例)
  • 在项目根路径下添加 yapi.config 文件,其格式为 properties 格式,官方支持的 文件名及格式如下 文档地址:EasyYapi
    在这里插入图片描述

第二步:

  • 加载外部的配置文件,可以是内外网可访问文件或本地文件
    在这里插入图片描述
  • 文件内容如下(两种模式二选其一,推荐使用 link 模式,与Java注释一致,可链接)
# 支持设置返回类型 package 模式(不建议)
method.return=#real_return
# 支持设置返回类型 link 模式(建议)
method.return[#real_return]=groovy:helper.resolveLink(it.doc("real_return"))
  • 官方文档位置:method_return 新增配置的使用方式
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10个知识点让你读懂Spring MVC容器

DispatcherServlet 的配置参数 可以通过的属性指定配置参数&#xff1a; namespace参数&#xff1a;DispatcherServlet对应的命名空间&#xff0c;默认是WEB-INF/-servlet.xml。在显式配置该参数后&#xff0c;新的配置文件对应的路径是WEB-INF/.xml&#xff0c;例如如果将name…

Android 移植iperf3.13 测试网络

iperf,测试网络性能的&#xff0c;不同于 webrtc里面的gcc 算法预估网络带宽&#xff0c;iperf是实际占用网络来传输数据测量实际的网络性能。 官网&#xff1a;https://iperf.fr/ 官方就有 android 的下载 https://iperf.fr/iperf-download.php#android&#xff0c; 但是看起…

绕线机算法模型(Simulink仿真验证+PLC代码实现)

绕线机应用的详细内容大家可以参看下面这篇博客,这里不再赘述。本文主要借助Simulink仿真分析和解决工程实际问题。希望对大家学习Simulink有所帮助。限于水平和能力所限,文中难免出现错误和不足之处,诚恳的希望大家批评和指正。 S7-200 SMART PLC和V20变频器绕线机控制应用…

Linux(在 Linux 上搭建 java 部署环境(安装jdk/tomcat/mysql) + 将程序部署到云服务器上的操作)

目录 &#x1f432; 1. 在 Linux 上搭建 java 部署环境 &#x1f984; 1.1 安装 jdk &#x1f984; 1.2 安装 tomcat &#x1f984; 1.3 安装 mysql &#x1f432; 2. 将[博客系统]部署到云服务器上 &#x1f984; 2.1 先在云服务器上,创建和之前 windows 上一样的数据库…

德勤、阿里为数据智能时代造势,是风口还是韭菜?

前不久&#xff0c;德勤和阿里高调发布了业内首个DAAS报告《DAAS数字化新世代的最优解》&#xff0c;强调“企业不应该继续将数据智能建设当作‘选择题’&#xff0c;而是一道‘必答题’&#xff01;” 德勤管理咨询中国首席执行官戴耀华&#xff08;右&#xff09;与阿里巴巴集…

自学编程技术如何选择书籍?

首先自学编程的话&#xff0c;也是要先确定要选择适合自己的编程语言。然后再购买相应的编程教材&#xff0c;不知道怎么选择的话&#xff0c;可以直接选择黑马的原创书籍。 《C语言开发基础》 内容简介 本书是对《C语言开发入门教程》一书的全新改版&#xff0c;本次改版结合…

智能驾驶穿越“寒冬”:Argo AI们倒下,复睿智行们崛起

作者 | 曾响铃 文 | 响铃说&#xff08;xiangling0815&#xff09; 寒气还在智能驾驶领域蔓延。 在过去的一段时间&#xff0c;裁员、倒闭、破产、市值下跌、巨头撤离等等一系列不好的消息在智能驾驶行业频频爆出&#xff0c;一批老牌的智能驾驶企业更是倒在了黎明前。 智能…

OpenCV实战——实现高效图像扫描循环

OpenCV实战——实现高效图像扫描循环0. 前言1. 测量代码运行时间2. 计算不同扫描算法的执行时间4. 完整代码及运行结果相关链接0. 前言 在《像素操作》一节中&#xff0c;我们介绍了扫描图像以处理其像素的不同方法。在本节中&#xff0c;我们将学习比较这些方法的计算效率。编…

Linux篇 一、香橙派Zero2设置开机连接wifi

香橙派Zero2系列文章目录 一、香橙派Zero2设置开机连接wifi 文章目录香橙派Zero2系列文章目录前言一、调试串口的连接说明二、WIFI 连接测试1.首先使用 nmcli dev wifi 命令扫描周围的 WIFI 热点2.找到自己的wifi&#xff0c;准备好wifi名称和密码三、设置开机连接WiFi总结前言…

【MySQL】第10章_创建和管理表

创建和管理表1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型2. 创建和管理数据库2.1 创建数据库2.2 使用数据库查看当前所有的数据库查看当前正在使用的数据库查看指定库下所有的表查看数据库的创建信息使用/切换数据库2.3 修改数据库更改数据库字…

RadZen 最新注册版,2022年末圣诞-happy

RadZen快速简单地生成业务 Web 应用程序&#xff0c;以可视化方式构建和启动 Web 程序&#xff0c;而我们会为您创建新代码。 从信息开始 连接到数据库。Radzen 推断您的信息并生成功能完备的 Web 应用程序。支持 MSSQL REST 服务。 微调添加页面或编辑生成的页面。通过预览您…

vue使用高德地图,marker低于1000,滑动卡顿问题的探究(已解决)

问题描述 vue使用高德地图点标记&#xff0c;刚开始使用的是Marker&#xff0c;但是数目超过300&#xff0c;滑动就卡顿&#xff0c;按文档来说&#xff0c;Marker 类型推荐在数据量为 500 以内时使用&#xff0c;不应该卡顿。后边就开始对这个bug进行两天脑秃的探究了 1.换成…

pytorch-天气识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章地址&#xff1a; 365天深度学习训练营-第P3周&#xff1a;天气识别&#x1f356; 作者&#xff1a;K同学啊一、前期准备 1.设置GPU import torch import torch.nn as nn impor…

MAC苹果系统安装数字证书的方法

MAC苹果系统安装数字证书的方法之工具/原料 Mac OS电脑一台 数字证书 先讲讲安装方法,mac系统默认浏览器是Safari,那小D在这里就以Safari浏览器为例子,讲解一下相关的安装方法 如果已有开通了数字证书的用户,在重装了系统或是在没有安装安装证书的电脑上进行付款时,会提…

【ELM回归预测】基于非洲秃鹫算法优化极限学习机预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

FL Studio水果21版本助力原创音乐人(中文完整版All Plugins)

最近&#xff0c;网上算是“风言风语”吧&#xff0c;关于FL Studio是否出21版的说法各异。首先呢&#xff0c;这里先肯定一点&#xff0c;FL Studio即将出FL Studio 21版本&#xff0c;但是正式版已经出来。希望大家不要被网上一些所谓冒充发布的FL Studio21正式版所骗&#x…

信息系统分析与设计:摊位管理信息系统

摊位管理信息系统的分析与设计 1 市场分析 1.1 地摊经济发展背景 1.2 地摊经济逐渐复苏 1.3 地摊经济的放管服 2 目标市场定位 2.1 普通城市居民 2.2 政府相关管理部门 3 系统主要介绍 3.1 系统创新描述 3.2 主要搭建流程 3.3 主要业务模块 3.4 业务流程图 3.5 组…

Vue学习笔记--第二章(尚硅谷学习视频总结)

第二章 Vue组件化编程第二章 Vue组件化编程2.1. 模块与组件、模块化与组件化2.1.1. 模块2.1.2. 组件2.1.3. 模块化2.1.4. 组件化2.2. 非单文件组件2.2.1. 基本使用2.2.2. 组件注意事项2.2.3. 组件的嵌套2.2.4. VueComponent2.2.5. 一个重要的内置关系2.3. 单文件组件第二章 Vue…

【C#基础学习】第十七章、数组

目录 数组 1.数组的类型 1.1 一维数组和矩形数组 1.1.1实例化一维数组和矩形数组 1.2 访问数组元素 1.3 初始化数组 1.3.1 显式初始化一维数组 1.3.2 显式初始化矩形数组 1.3.3 显式初始化的快捷语法 1.3.4 隐式类型数组 1.4 交错数组 1.4.1 声明交错数组 1.4.2 实例…

bump map(凹凸贴图)的一个简单生成方法

用于渲染物体表面&#xff0c;增加真实感的bump map(凹凸贴图)的一个简单生成方法。 1. 在 Perlin Noise Map Generator - OpenProcessing 生成一个perlin noise map&#xff0c; 点击代码按钮&#xff0c;修改生成图像的分辨率 点击 paly 按钮&#xff0c;设置参数&#xf…