IDEA 插件上新! 生成接口文档就是这么快!

news2024/9/21 2:45:29

当有接口对接需求的时候,开发终于不用再担心 API 文档难写了,也不用再一个个接口文档重新写!安装这个 IDEA 插件,可以一步将文档导入到 Postcat。

这款插件操作简单,容易上手,能够让开发者省去API文档编写的工作,更专注于开发。插件通过分析用户注释进行接口解析,最终生成接口文档并上传至 Postcat 服务器,使得开发者可以在 Postcat 上进行 API 管理和分享,提高协作能力和开发速度。

 

和Swagger 有什么区别呢?

Postcat 插件不会入侵到代码内部,无需添加任何jar包依赖

插件通过分析用户注释进行接口解析,最终生成接口文档并上传至 Postcat 服务器,使得开发者可以在 Postcat 上进行 API 管理和分享,提高协作能力和开发速度。

Postcat 提供了多种拓展注释,@path@url@method@name@hidden@required,这些注释可以在设置界面进行自定义或兼容现有注释。

此外,Postcat 还提供了注释生成功能,对于没有或仅有少量注释的类和方法,开发者无需费力手动添加,该功能可以分析方法字段含义并自动生成注释。开发者只需要检查或根据实际场景进行微调,即可生成一份较完善的API文档。

如果原有注释不足,Postcat 会通过添加方式补充注释,移除注释时只会移除Postcat提供的那些拓展性注释,不会破坏用户自身的注释。同时,开发者还可以使用"意图"功能局部生成插件注释,并进行调整和修改。

Postcat提供了多种 API 上传方式,方便开发者在不同的场景下使用:

  • 对于首次使用Postcat的现有项目,开发者可以使用主菜单中Tools分组下的Upload Project Api Doc来完成项目级别的接口上传。

  • 对于新需求下创建的Controller,在完成接口定义后,开发者可以右键菜单,选择 Upload All Api 来进行单个文件级别全部上传,做到先有文档再有逻辑,前后端工作不再串行阻塞。

  • 对于某个部分单独接口的改动,无需全部上传,开发者可以右键菜单,选择Upload Api功能,该功能会展示当前编辑类的接口信息,并提供接口预览和接口选择界面,使得用户可以勾选需要更新或上传的目标API进行信息核对和上传。

如何安装配置?

IDEA 版本需大于 IntelliJ IDEA 2022.03

在 IDEA “设置-插件-Marketplace” 中搜索 Postcat,找到 Postcat 插件安装即可。同时也可在IDEA插件市场上进行下载安装,本地的IDEA没有自动唤起时,可以直接把zip包拖入IDEA中即可完成安装/更新。

  1. 填写配置信息

首次上传需要填写配置信息,配置信息项目之间独立。

配置信息获取途径:登陆 Postcat 进入项目中获取 Token、WorkspaceID 和 ProjectID。

  1. Server 默认填写:https://postcat.com/api, 用户无需修改

  2. Token获取

     

  3. WorkspaceID 和 ProjectID 获取

     

    1. 进入项目设置页面,点击项目名右侧“问号”

  4. StringType 决定出入参的字符串类型,只有参数名一开始就是遵守驼峰规范才会发现改变,预览窗口可看到变化结果

1. 当参数名为userInfo,选择 camelCase,依旧是userInfo,这是默认选项

2. 当参数名为userInfo,选择 lower_underscore,会变成user_info

3. 当参数名为userInfo,选择 UPPER_UNDERSCORE,会变成USER_INFO
 

  1. 注意事项

  1. 进行解析上传前,请确保 IDEA 在项目中已经构建完,相关依赖已经下载好。

  2. 强烈推荐使用插件定义的注释,插件有强大的生成注释功能,强烈建议先生成插件的注释进行编辑再上传,注释可以在设置也进行自定义。

  3. 在识别不到插件注释时,仅对Spring MVCSwagger.v2Swagger(OpenAPI).v3的注解只做部分简单支持。为避免必要参数的缺失,推荐使用插件注释。

  4. 生成注释功能会对Spring MVCSwagger.v2Swagger(OpenAPI).v3的注解只做部分简单支持,而不会让你重头编写。

  5. HTTP接口通过路由和请求方式判断唯一做覆盖更新处理

  6. 对于已经上传的 API,在 web 上进行过手动修改,不建议再使用上传功能,因为插件上传会覆盖掉之前的内容。

  7. 在生成/手敲了插件javadoc后,对接口uri,请求方式(GET/POST)等做了修改,需要手动修改插件javadoc,否则插件还是会识别到旧的插件javadoc信息。

  8. 自动生成的类注释默认会上传到默认分组,请用户自行填写真实的分组,分组通过名字识别。

    1. 如多级分组,则用.隔开,比如需要把接口传到第三方分组下的用户分组,则 group-name 填写 第三方.用户。

  9. @group-name注释 支持到方法级别,默认不生成,可手动添加到方法注释,插件会帮你将当前方法存到对应分组中。

  10. 项目级别的 api 扫描和上传,顶部菜单[Tools -> Upload Project Api Doc],具体使用规则看 项目级上传

  11. 生成类注释不在默认生成@required注释,只会针对有javax.validation.constraints.NotNull注解的字段才生成。

  12. 不推荐使用@remark注释,插件保留了识别功能且将内容拼接到字段说明中,生成类注释不会自动生成。

  13. 通过@PathVariable,POST方法默认把参数识别成 Formdata 类型,GET方法默认把参数识别成 query 类型。

  14. //标识的注释无法被识别出来,请使用/** */标识。

了解 Postcat:

Postcat 是一个强大的开源、跨平台(Windows、Mac、Linux、Browsers...)的 API 开发测试工具,支持 REST、Websocket 等协议(即将支持 GraphQL、gRPC、TCP、UDP),帮助你加速完成 API 开发和测试工作。

 

Postcat 核心功能:

  1. API 文档管理,可视化 API 设计,生成 API 文档

  2. API 测试, 自动生成测试参数,自动生成测试用例,可视化数据编辑

  3. Mock,根据文档自动生成Mock,或创建自定义 Mock 满足复杂场景

  4. 插件拓展,众多插件扩展产品功能,打造属于你和团队的 API 开发平台

  5. 团队协作,既能实现API 分享也能可以创建云空间共同协作

如果喜欢,不妨 Star 支持一下

这个项目是开源的,如果你觉得这个项目还不错的话,不妨点个 Star 支持一下! Github :https://github.com/Postcatlab/postcat

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

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

相关文章

STM32G0x0系列-软件定时器解决HAL_Delay问题

目录 HAL_Delay函数源码 软件定时器 创建工程试验 1.将对应文件移动到项目位置 2.添加现有文件放到工程中 3.重定向printf 3.验证自己的软件定时器 4.查看现象 HAL_Delay函数使用了中断机制来实现延时功能,当在中断函数中调用HAL_Delay函数需要考虑中断优先…

《操作系统》by李治军 | 实验5.pre - copy_process 代码详解

目录 【前言】 代码分析 1. 申请子进程 PCB 空间 2. 找到子进程的内核栈 3. 父子进程共用同一内存、堆栈和数据代码块 4. 相关寄存器入栈 5. switch_to 返回位置 6. 响应 switch_to 的弹栈工作 7. 更新子进程 PCB 8. 子进程切换流程 【前言】 在李治军老师的《操作系…

MyBatis——缓存

是一种临时存储少量数据至内存或者是磁盘的一种技术.减少数据的加载次数,可以降低工作量,提高程序响应速度 缓存的重要性是不言而喻的。mybatis的缓存将相同查询条件的SQL语句执行一遍后所得到的结果存在内存或者某种缓存介质当中,当下次遇到一模一样的查询SQL时候…

Yolov8涨点神器:ODConv+ConvNeXt提升小目标检测能力

1.涨点神器结合,助力YOLO 1.1 ICLR 2022涨点神器——即插即用的动态卷积ODConv 论文:Omni-Dimensional Dynamic Convolution 论文地址:Omni-Dimensional Dynamic Convolution | OpenReview ODConv通过并行策略引入一种多维注意力机制以对卷积核空间的四个维度学习更灵活的…

项目所需的Python版本+国内源+虚拟环境+用Conda创建环境

文章目录 (一)Python(1.1)国内源(1.2)设置源(全局)(1.3)使用源(单次) (二)Python环境(2.1&#xf…

【数据结构与算法】力扣:栈和队列(一)

1 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开…

vue diff算法与虚拟dom知识整理(13) 手写patch子节点更新换位策略

上一文中我们编写了 patch中新旧节点都有子节点的 插入节点的逻辑 但旧节点的子节点发生顺序 或数量变化 我们还没有处理 那我们现在继续 我们先来看看 原本是怎么写的 我们打开我们的案例 找到 node_modules 下面的snabbdom/src下面的 init.ts文件 我们在里面找到一个 updat…

Openai+Deeplearning.AI: ChatGPT Prompt Engineering(六)

想和大家分享一下最近学习的Deeplearning.AI和openai联合打造ChatGPT Prompt Engineering在线课程.以下是我写的关于该课程的前五篇博客: ChatGPT Prompt Engineering(一)ChatGPT Prompt Engineering(二)ChatGPT Prompt Engineering(三)ChatGPT Prompt Engineering…

QML Text 元素

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在 QML 中,Text 和 Label 是两种常用的元素(Label 继承于 Text),用于显示文本内容。虽然它们看起来很相似,但在使用和功能上有一些不同。 对于 Text 元素,比较重要的是 text 与 font 属性,一旦指定了…

Linux常见IO模型-3

在前两篇博客中,我们讲述了常见的IO模型,并对多路转接模型中的select模型进行了细致介绍和具体的代码实现。那么接下来,我们在本篇博客中将对剩余的多路转接模型中的:poll和epoll进行介绍。 目录 1.poll 1.1操作流程 1.2代码实…

硬件系统工程师宝典(27)-----MOSFET、BJT搭配,干活不累

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。上篇我们说到场效应管的原理是通过“监测”栅极和源极间电压来实现控制漏极-源极之间电流的目的。今天我们来讲讲场效应管如何和BJT搭配设计控制电路…

【P44】JMeter 模块控制器(Module Controller)

文章目录 一、模块控制器(Module Controller)参数说明二、测试计划设计 一、模块控制器(Module Controller)参数说明 提供了一种在运行时将测试计划片段替换为当前测试计划的机制;模块控制器的目标是为增加脚本的复用…

springboot+vue实验室预约设备报修管理系统

本实验室管理系统管理员功能有个人中心,学生管理,教师管理,公告信息管理,知识库管理,实验课程管理,实验室信息管理,实验室预约管理,实验设备管理,采购记录管理&#xff0…

addon.MediaStream,erizo::MediaStream 还有addon.MediaXXX,erizo::MediaXXX

9. MediaStream 和erizo::MediaStream 类的继承关系 erizo::MediaStream source/agent/webrtc/rtcConn/erizo/src/erizo/MediaStream.h source/agent/webrtc/rtcConn/erizo/src/erizo/MediaDefinitions.h erizo::MediaSource source/agent/webrtc/rtcConn/erizo/src/erizo/…

【C++进阶4-AVLTree】尽可能条理清晰地为你讲解比普通BST更强的——AVLTree

今天,带来AVLTree的讲解。文中不足错漏之处望请斧正! 是什么 AVLTree是一种自平衡的二叉搜索树。 它通过控制左右子树的高度差不超过1来调节平衡,从而提高搜索,插入和删除的效率。 实现 结构 AVLTree为了能自动调节平衡&#…

第十四章行为性模式—策略模式

文章目录 命令模式解决的问题结构实例存在的问题适用场景 JDK源码解析 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类行为模式…

Java阶段三Day07

Java阶段三Day07 文章目录 Java阶段三Day07Spring Security自定义UserDetails密码加密授权 JDK包结构文档注释规范JDK APIString APIString是不可变对象String常量池内存编码及长度使用indexOf实现检索使用substring获取子串trim去除两侧空白charAtstartsWith和endsWith大小写变…

3.1 矩阵连乘问题

博主简介:一个爱打游戏的计算机专业学生博主主页: 夏驰和徐策所属专栏:算法设计与分析 学习目标: 如果我要学习动态规划中的矩阵连乘问题,我会采取以下学习方法: 1. **理解问题的背景和目标:首…

pytorch中分布式Collective通信API学习

随着各种大模型的不断迭出,感觉现在的NLP领域已经来到了大模型的时代。那么怎么来训练一个大模型呢?其中比较关键的一个技术基础就是分布式训练。在阅读GLM源码的时候,感觉其中的分布式训练代码不是很熟悉,看起来有点吃力&#xf…