听说丝袜哥(swagger)不好用试试JApiDocs吧

2023-11-08 16:20

本文主要是介绍听说丝袜哥(swagger)不好用试试JApiDocs吧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一介绍

JApiDocs 是一个符合 Java 编程习惯的 Api 文档生成工具。最大程度地利用 Java 的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs 会帮你导出一份漂亮的 Html 文档,并生成相关的 Java 和 Object-C 相关数据模型代码,从此,Android 和 IOS 的同学可以少敲很多代码了,你也不需要费力维护接口文档的变化,只需要维护好你的代码就可以了。

有人嫌弃使用Swagger 要使用很多注解, 当项目比较大时,光注解就需要写很多时间,然后 JApiDocs 完全可以使用Java原生的代码代替它;

官方 giee地址: https://gitee.com/yeguozhong/JApiDocs

二入门使用

2.1引入依赖

<dependency><groupId>io.github.yedaxia</groupId><artifactId>japidocs</artifactId><version>1.4.4</version>
</dependency>

2.2 在VO上加上java注释

/*** @Author lsc* <p> 测试实体 </p>*/
public class TestVo  {/** 测试名称**/private String testName;/** 测试年龄 **/private Long testAge;/** 测试时间 **/private LocalDateTime testTime;// 省略 set get
}

2.3 控制层加上java注释

/*** @Author lsc* <p>测试 </p>*/
@RestController
public class TestController {/*** 测试get* @param testVo*/@GetMapping(value = "info")public ResponseEntity<TestVo> testGet(TestVo testVo){return ResponseEntity.ok().body(testVo);}/*** 测试get参数* @param id*/@GetMapping(value = "info/test")public ResponseEntity<Long> test(@RequestParam Long id){return ResponseEntity.ok().body(id);}/*** 测试post* @param testVo*/@PostMapping(value = "info")public ResponseEntity<Long> testPost(@RequestBody TestVo testVo){return ResponseEntity.ok().body(1L);}/*** 测试delete* @param id*/@DeleteMapping(value = "info/{id}")public ResponseEntity<Long> testPost(@PathVariable Long id){return ResponseEntity.ok().body(1L);}}

2.4 生成文档

 public static void main(String[] args) {// 1. 创建生成文档的配置DocsConfig config = new DocsConfig();// 项目所在目录config.setProjectPath("C:/java/zszxz/studys-pringboot/springboot-JApiDocs");// 生成 HTML 接口文档的目标目录config.setDocsPath("C:/mydata/generator/japi");// 自动生成config.setAutoGenerate(Boolean.TRUE);// 项目名config.setProjectName("japi测试项目");// API 版本号config.setApiVersion("V1.0");// 使用 MD 插件,额外生成 MD 格式的接口文档config.addPlugin(new MarkdownDocPlugin());// 2. 执行生成 HTML 接口文档Docs.buildHtmlDocs(config);}

生成文档目录如下

访问 index 页面

三高级用法

高级用法基本我们都用不到,了解下;

3.1@ApiDoc

默认情况下,JApiDocs仅导出声明@ApiDoc的api。 我们之前通过设config.setAutoGenerate(Boolean.TRUE)删除了此限制。

如果不想导出所有api,则可以关闭autoGenerate并将@ApiDoc添加到Controller类或api方法中,以确定需要导出的api

让我们看看@ApiDoc如何在api方法上工作:

result :返回的对象类型,它将覆盖SpringBoot的返回对象
url:请求URL,扩展字段,用于支持非SpringBoot项目
method:请求方法,扩展字段,用于支持非SpringBoot项目

示例

@ApiDoc(result = AdminVO.class, url = "/api/v1/admin/login2", method = "post")

将 @ApiDoc 放在非springboot的项目上就是很好的选择

3.2 @Ignore

如果不想导出实体上的某个字段就可以使用@Ignore 注解

示例

public class TestVo  {/** 测试名称**/@Ignoreprivate String testName;
}    

3.3 导出 Markdown

在配置时加上下面这行代码就可以生成 Markdown 文件

config.addPlugin(new MarkdownDocPlugin());

最后

关于本教程示例源码合并在 springboot 系列教程源码: https://github.com/zszxz/study-springboot

知识追寻者开源的权限管理系统: https://github.com/zszxz/zboot

希望大家多多支持,给个start!!

欢迎关注我的公众号:知识追寻者

这篇关于听说丝袜哥(swagger)不好用试试JApiDocs吧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/371034

相关文章

springboot 整合swagger

没有多余废话,就是干 spring-boot 2.7.8 springfox-boot-starter 3.0.0 结构 POM.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/

手机扬声器音量总是不够大?试试“扬声器助推器”吧

手机的扬声器音量总是不够大,尤其是在嘈杂的环境中,音乐和视频的声音总是不太清晰。直到我发现了这款“扬声器助推器”,我的手机音质瞬间提升了好几个档次。 软件简介: “扬声器助推器”利用先进的音频处理技术,能够提高手机扬声器的音量,让声音更加清晰响亮。此外,还可以设置最大允许增强量,避免音量过大损坏扬声器。 版本特点: 提升音量效果显著,音质清晰。可以自定义最大增强量,保护扬声器。 使用体

【Swagger】SpringBoot整合Swagger

一、搭建Swagger组件 1. 引入Swagger 快速在SpringBoot(版本:2.6.3)项目中引入Swagger相应pom.xml: <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></depende

【无标题】免费录屏工具推荐,除了OBS还有这几款你也应该试试!

在寻找一款免费且高效的录屏软件时,除了OBS,市场上还有其他多种选择。本文将为您介绍五款易于操作的录屏工具,它们能够满足您在制作教程视频、游戏直播或视频演示时的需求。 首选推荐:嗨格式录屏大师 嗨格式录屏大师以其全面的录制模式(包括全屏、进程、摄像头等七种模式)在视频录制领域占据一席之地。该软件在录制过程中提供工具栏,支持画面标注、聚光灯、高亮等操作,同时具备计划任务录制和自动分段录制

redis 实现单位时间内错误记录 时间到key值就被清除------最近脑子不好使觉得还是写个博客试试

直接在客户端操作的, 所以需要redis的简单命令  去对比JAVA客户端jedis的命令就行   添加---set     格式 set  key  value  EX time(秒)   如果这个time不添加的话 ,那默认就是 永久 获取--get    格式 get key  ---查看剩余时间    格式 TTL key ---实现key实现自增: inrc key

还不知道视频合并怎么弄?不妨试试这4个方法

记录生活,就像是在编织一本流动的日记,每一页都充满了色彩和声音。在这个过程中,视频成为了我们记录日常趣事的绝佳方式。 但问题来了,面对手机里零散的视频片段,我们该如何将它们合并,制作成一段流畅的生活Vlog呢? 别急,接下来,本文将为你揭晓“视频合并怎么制作”的秘诀,让你的生活Vlog更加生动有趣! 方法一:使用【剪辑魔法师】进行视频合并 ◆适用人群:适合希望快速拼接视频,又不想花太多

南京大学机试试题合集

🍰🍰🍰hello宝子们,今天我们来练习南京大学的机试题目,这些题目的缺点就是太老了,都是18或19年的题,大家就练练手。加油!fighting!( •̀ ω •́ )✧ 🍩1161 二叉树遍历 #include<bits/stdc++.h>using namespace std;string s;int len;typedef struct node{char dat

谁还只会用OBS?多场景录制试试这四款!

很多人在录屏的时候,尤其是打游戏的朋友,第一时间想到的都是OBS,其实除了这款工具,还有很多好用的第三方录屏工具,一样可以帮助我们录制出不卡顿的高清视频。今天,我们就来对比一下市面上四款热门的录屏软件,看看它们在录制电脑屏幕时的表现如何。 一、福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 作为一款第三方工具,我个人还是很喜欢这款的。它支持全屏录制

【springboot】使用swagger生成接口文档

1. 添加依赖 <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version></dependency>         这里我老是添加不上这个依赖,搜索了下发现阿里云公共仓库中没有这个依赖

山东大学机试试题合集

🍰🍰🍰高分篇已经涵盖了绝大多数的机试考点,由于临近预推免,各校的机试蜂拥而至,我们接下来先更一些各高校机试题合集,算是对前边学习成果的深入学习,也是对我们代码能力的锻炼。加油!fighting!( •̀ ω •́ )✧ 我习惯于在注释中解释算法思路,所以可能没有题解,大家可以直接看代码。 🍩1832 字符串的差 #include<bits/stdc++.h>using n