首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

干掉 Swagger (丝袜哥),我用这个新工具!

编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API文档将是前后端协作中一个不可或缺的沟通界面。...1 快速开始 要使得JApiDcos正确工作,你写的代码应该是像下面的样子的: /** * 用户接口 */ @RequestMapping(/api/user/) @RestController public...是的,这样JApiDocs就能解析到相关的接口信息了,就跟我们平时写的代码是差不多的,但要注意,你要通过@param来告诉JApiDocs接口的参数,但在IDE的帮助下,这个工作将是轻松愉悦的: 然后你在任意一个...2 功能特性 1、代码即文档 JApiDocs是通过直接解析SpringBoot的源码语法来工作的,所以只要Controller的语法符合一定的代码规范,有合理的注释,就可以直接导出文档。...3、同步导出客户端Model代码 支持导出Android端的 Java 和iOS端的 Object C Model代码,减少前端程序员的重复编码工作。

25321

我用这个技术,干掉几千行 if else!

大家好我是鱼皮,今天我将用一个有趣的小例子来带大家入门企业开发中非常实用的技术—— 工作流,用好这个技术,可以帮你消除项目中大量的 if else 代码,让你的项目更好维护和扩展。...对应的流程图如下: 那如果让你来写代码实现这个逻辑,你会怎么写呢? 想必会是一大段的 if ... else ... 吧,像下面这样: 对于简单的程序来说,这样写没有问题。...工作流实现养鸡系统 1、准备操作 使用 Compile Flow 非常简单,直接进入代码仓库主页,引入代码包即可: 这里我建议大家首次使用时下载官方提供的示例代码:https://github.com...但是 bpm 文件是用 XML 编写的,看着就很复杂,真要自己写这个玩意还不如写 if else 呢!...节点又可以指向其他节点,表示工作的执行顺序,双击节点可以编辑节点名称: 编辑节点 一番操作后,我们的流程图就变成了下面这个样子: 但目前这个流程图是静态的,我们需要给它绑定数据和程序代码,来让整个流程动起来

52020
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    被迫重构代码,这次我干掉了 if-else

    传统的实现方式 我们看下边的伪代码,大致就是重构前下单逻辑的代码,由于来源比较少,简单的做if-else逻辑判断足以满足需求。...现在每种订单来源的处理逻辑都有几百行代码,看着已经比较臃肿,可我愣是迟迟没动手重构,一方面业务方总像催命鬼一样的让你赶工期,想快速实现需求,这样写是最快;另一方面是不敢动,面对古董级代码,还是想求个安稳...但这次来源一下子增加几十个,再用这种方式做已经无法维护了,想象一下那种臃肿的if-else代码,别说开发想想都头大!...这个是用策略模式修改后代码: @Component @OrderHandlerType(16) public class DispatchModeProcessor extends AbstractHandler...OrderHandlerType.class.getName()); return (AbstractHandler)beanFactory.getBean(map.get(type)); } } 6、调用入口 我这里是在接受到

    50230

    干掉 Postman?测试接口直接生成API文档,这个工具我爱了

    大家好,我是小富~ 前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下。...ShowDoc一个非常适合团队的在线API文档工具,也支持用docker自建文档服务,不过为了方便演示,我直接用了平台在线服务。...代码注释 把接口的信息写在注释里也可以自动生成文档到showdoc,但这种我并不太喜欢,主要是侵入性比较强,让代码的阅读性变的比较差,一坨坨看着很不爽。...showdoc_api.sh生成的文档会放进你填写api_token的这个项目里。 ?...开放API showdoc开放了文档编辑的API,我们可以在代码中调用API创建、编辑文档。这样使用的场景就比较灵活了。

    1.1K30

    又被逼着优化代码,这次我干掉了出入参 Log日志

    最近技术部突然刮起一阵 review 代码的小风,挨个项目组过代码,按理说这应该是件挺好的事,让别人指出自己代码中的不足,查缺补漏,对提升自身编码能力有很大帮助,毕竟自己审查很容易“陶醉”在自己写的代码里...不过,代码 review 的详细程度令人发指,一行一行的分析,简直就是个培训班啊。...不夸张的说,如果我村里仅有县重点小学学历的四大爷,来听上一个月后,保证能上手开发,666~ 既然组内气氛到这了,咱也得行动起来,要不哪天评审到我的代码,让人家指指点点的心里多少有点不舒服,与其被动优化代码不如主动出击...~ 选优化代码的方向,方法入参和返回结果日志首当其冲,每个方法都会有这两个日志,一大堆冗余的代码,而且什么样的打印格式都有,非常的杂乱。...JSON.toJSONString(orderInfo)); return orderInfo; } 下边我们利用 AOP 实现请求方法的入参、返回结果日志统一打印,避免日志打印格式杂乱,同时减少业务代码量

    39320

    又被逼着优化代码,这次我干掉了出入参 Log日志

    最近技术部突然刮起一阵 review 代码的小风,挨个项目组过代码,按理说这应该是件挺好的事,让别人指出自己代码中的不足,查缺补漏,对提升自身编码能力有很大帮助,毕竟自己审查很容易“陶醉”在自己写的代码里...[在这里插入图片描述] 不过,代码 review 的详细程度令人发指,一行一行的分析,简直就是个培训班啊。...不夸张的说,如果我村里仅有县重点小学学历的四大爷,来听上一个月后,保证能上手开发,666~ 既然组内气氛到这了,咱也得行动起来,要不哪天评审到我的代码,让人家指指点点的心里多少有点不舒服,与其被动优化代码不如主动出击...~ 选优化代码的方向,方法入参和返回结果日志首当其冲,每个方法都会有这两个日志,一大堆冗余的代码,而且什么样的打印格式都有,非常的杂乱。...JSON.toJSONString(orderInfo)); return orderInfo; } 下边我们利用 AOP 实现请求方法的入参、返回结果日志统一打印,避免日志打印格式杂乱,同时减少业务代码量

    38310

    低代码还是好用的,我持有这个观念

    你认为低代码到底是美味的膳食还是垃圾食品呢,来分享一下吧! 一、什么是低代码 低代码(low-code)是一种软件开发方法论,旨在通过使用可视化图形界面和可重用的组件来简化应用程序开发过程。...低代码平台通常提供了一系列可拖拽的组件和可视化工具,让开发人员可以使用这些组件和工具来构建应用程序,而无需手动编写代码。...二、低代码的发展方向 当前低代码领域主要发展的 2 个方向 一、低代码开发平台 面向大中小型企业,写少了代码,提供一系列低代码引擎,表单设计器、流程设计器、大屏设计器,支持通过可视化组件 + 少量代码实现常规的业务管理系统...适合对象:软件团队,适合复杂业务系统,二次开发使用 二、零代码平台 面向中小微企业,零代码,完全基于在线可视化引擎和拖拉拽操作实现一个系统,不需要编写任何代码。...四、你认为低代码会替代传统编程吗? 会的 五:如何入门低代码? 其实这个也是有门槛的,就是要学习,你看低代码平台动辄几十几百个小时的视频教程,就知道这个是否有门槛了

    25210

    我结婚了,我要用什么做个邀请函呢?【iVX无代码YYDS 06】

    我竟然会吃惊? 小媛:我要结婚了!!! 1_bit:噗!?今天刚好4月1号,我不信。 小媛:请帖都给你带来了,你看。 1_bit:唔,做戏做全套呀。你这个包里面怎么一堆请帖?...小媛:然后呢?这种创建的步骤还是会的。 1_bit:点击创建后就有一个操作界面了,接下来我们就跟操作Photoshop一样操作,画出来你的邀请函。...小媛:这一步还记得,接下来怎么画我忘记了。 1_bit:简单。你现在先点击右侧对象树中的前台,在前台下添加一个页面。 小媛:怎么添加呢? 1_bit:在左侧点击页面就可以添加了。...小媛:可以了,我还在属性中改了字体、大小、和文字,贼好看。 1_bit:我还可以给你的字体加特效呢。 小媛:哇,这么厉害?怎么做?...小媛:这可不行,我还等着bit哥的大红包呢。不如我介绍个嫂子给你吧,她叫做钩子,是不是很有趣这个名字。 1_bit:嗯,份子钱我准备好了,我还有事,先走了。 小媛:拜拜,单身汪。

    33140

    用了这个设计模式,我优化了50%表单校验代码

    这是一种很常见的代码编写方式,但它有许多缺点: onsubmit 函数比较庞大,包含了很多 if-else 语句,这些语句需要覆盖所有的校验规则。...算法的复用性差,如果在项目中增加了另外一个表单,这个表单也需要进行一些类似的校验,我们很可能将这些校验逻辑复制得漫天遍野。 如何避免上述缺陷,更优雅地实现表单校验呢?...使用策略模式重构代码之后,我们消除了原程序中大片的条件分支语句。...策略模式让你能将各种算法的代码、 内部数据和依赖关系与其他代码隔离开来。不同客户端可通过一个简单接口执行算法, 并能在运行时进行切换。...总结 在上述例子中,使用策略模式虽然使得程序中多了许多策略对象和执行策略的代码。但这些代码可以在应用中任意位置的表单复用,使得整个程序代码量大幅减少,且易维护。

    77750

    我这个人不懂什么CPU,于是我用代码模拟出了一个

    想要回答这个问题最好还是先自己实践一下。...但是,我了解到了其他人很多年前已经解决了的问题,并认为自己的这项工作更好。 为什么要做这个?...我的开发之旅 开发过程实际上只是阅读文本、查找图表、然后尝试使用通用编程语言代码(而不是使用为集成电路开发而设计的代码)来翻译。 之所以用 Go 语言来写,是因为我对 Go 了解一点。...我也没有抽出时间来实现退格键或其他任何修改键。这让我意识到制作文本编辑器需要做多少工作,这项工作可能是多么乏味。 反思 这个项目对我来说非常有趣,也很有收获。...虽然我做的这个 CPU 很简单,距离电脑里的 CPU 还很远,但通过这个项目我学到了很多,如: 位元如何在使用总线的所有组件之间移动 一个简单的 ALU 是如何工作的 一个简单的 Fetch-Decode-Execute

    91920

    使用了这个神器,让我的代码bug少了一半

    最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能的使用,惹得领导不高兴了,让我想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们的视线当中...1.1 不遵循代码标准 sonarqube可以通过CheckStyle等代码规则检测工具规范代码编写。...postgreSQL JDK下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html JDK的安装比较简单,我在这里就不过多介绍了...第一次访问这个地址比较会停留在这个页面一段时间,因为SonarQube会做一些初始化工作,包含往空数据库中jian'bi ? 初始化成功后运行的页面: ? 同时会生成20多张表: ?...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 我个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要的功能。

    2.1K40

    使用了这个神器,让我的代码bug少了一半

    最近一段时间,我们团队在生产环境出现了几次线上问题,有部分比较严重,直接影响用户功能的使用,惹得领导不高兴了,让我想办法提升代码质量,这时候项目工程代码质量检测神器——SonarQube,出现在我们的视线当中...1.1 不遵循代码标准 sonarqube可以通过CheckStyle等代码规则检测工具规范代码编写。...postgreSQL JDK下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html JDK的安装比较简单,我在这里就不过多介绍了...第一次访问这个地址比较会停留在这个页面一段时间,因为SonarQube会做一些初始化工作,包含往空数据库中建表 初始化成功后运行的页面: 同时会生成20多张表: 2.3 安装插件 根据个人需要,可以安装汉化插件...此外,还有mybatis插件 gitee地址:https://gitee.com/mirrors/sonar-mybatis 我个人用过,觉得作用不大,不过可以基于这个代码扩展自己需要的功能。

    1.2K10

    原创 | 有了Git这个操作,我再也不怕代码混乱了!

    image-20201023084358700 这个时候应该怎么办呢?最好的办法当然是使用git commit把改动提交了。...应用改动 那么当我们操作完成之后,想要还原刚才暂存起来的内容,这个时候应该怎么办呢?...而如果使用的是apply呢,记录不会从堆栈当中删除,仍然会保留下来。 一般情况下我使用pop多一些,但是pop也有缺点,比如pop没有办法选择应用的记录。...patch我们曾经在上篇文章讲解交互式命令的时候讲到过,它可以将git针对的改动缩小到代码而不是文件级别。交互式地和我们操作哪些代码层面的改动需要存储起来,操作方法和上篇文章介绍的一样。...最后一个功能是从储藏上新建一个分支,有的时候我们先储存了代码之后又继续进行了一些工作。这个时候如果我们再恢复从前的改动则会引起冲突。

    76720

    为什么我代码里面选择top1000的sd基因绘制热图呢

    实际上写完了这个全网最好的差异分析代码:免费的数据分析付费的成品代码 我就可以收工用来,但是永远不能低估粉丝的疑惑数量,任何一个细节都会被拿出来剖析。...比如代码里面我挑选了top1000的sd基因绘制热图,然后就可以分辨出来自己处理的数据集里面的样本分组是否合理啦。其实这个热图差不多等价于PCA分析的图,被我称为表达矩阵下游分析标准3图!...为什么挑选top1000的sd基因绘制热图 我这个热图是为了说明本分组是否合理,就是看样本的距离,这个时候你如果需要理解距离,那么你需要学习非常多细节知识。...$tree_col,2), top5000= cutree(p4$tree_col,2), group_list=group_list) 这个时候...,你会发现,好像不一样,我修改层次聚类的类别数量 tmp=data.frame(top1000=cutree(p1$tree_col,4), top500=cutree(p2

    1.7K10

    亚马逊Alexa那么火,都是因为这个女人!(我一个文科生,怎么就领导AI团队了呢)

    于是,那位画家无意中激活了这个智能音箱。 “他当时吓坏了。他停了下来,惊恐地问我,‘那是什么东西?’”蕾德回忆道,“当我我结结巴巴地解释的时候,Alexa还在喋喋不休。...我说,‘哦,抱歉,肯定有什么东西在抽屉里。管它呢!’”...“我记得刚开始的时候,我要阅读波士顿的这个团队撰写的语音技术文档。”她说,“我感觉就像看天书。” 有很多非常实际的挑战需要克服,例如这个产品如何在充满噪音的房间里听清人类的语音指令。...“如果我在周末工作,并且发送电子邮件,团队就会感觉到,所以我会推迟到星期天。”她说,“我会努力尊重大家,但并非总是管用。” 蕾德的管理风格吸引了佐恩。“我加入这个团队就是因为托妮。...“我把我们的愿景称作‘Alexa陪伴的日子’:到那时,这个虚拟助手就可以让你的生活更加简单,还能解放你的双手。”蕾德说,“肯定还有很多我们现在想象不到的东西,我感到兴奋不已。”

    84270
    领券