一款强大的API接口文档管理工具-世界速看料
在团队协作开发项目的时候,接口文档承担着向其他开发人员说明接口相关信息的重要任务,因此,一份清晰而又相近的接口文档至关重要。
但是,写接口文档的痛苦想必各位开发人员都体验过,明明写接口的时候那么丝滑,写接口文档的时候像要老命一样各种核对数据格式、文档格式,最后还有可能漏掉那么一些示例导致调用不成功,继续和其他开发沟通……还有接口文档的更新问题,一旦要更新接口文档,就意味着要给所有用着接口文档的同事一一联系,想想就令人摸不着头发……
以上这些让人头秃的痛点驱使着我寻找一个可以自动生成文档,并且可以将文档展示在线上的工具。一来可以省去大量编写接口文档的时间,在不受折磨的情况下生成高可靠性的文档;二来在更新接口文档之后,使用的还是同一个链接,不用再一一通知,对于我这样的社恐来说简直再好不过。
(资料图片)
那么闲言少叙,进入今天的正题,Smart-Doc + Torna的生成和管理接口文档解决方案。
Smart-Doc首先放项目地址(https://gitee.com/smart-doc-team/smart-doc)和文档(https://smart-doc-group.github.io/#/zh-cn/?id=smart-doc)。
smart-doc是一款同时支持JAVA REST API和Apache Dubbo RPC接口文档生成的工具,smart-doc在业内率先提出基于JAVA泛型定义推导的理念, 完全基于接口源码来分析生成接口文档,不采用任何注解侵入到业务代码中。你只需要按照java-doc标准编写注释, smart-doc就能帮你生成一个简易明了的Markdown、HTML5、Postman Collection2.0+、OpenAPI 3.0+的文档。
简单来说,在简单配置之后,只要代码写的规范、注释写的够全,就能自动生成文档,无需对项目逻辑做修改、也不用添加额外注解。
配置方法在这(https://smart-doc-group.github.io/#/zh-cn/start/quickstart)。
Torna还是先放项目地址(https://gitee.com/durcframework/torna)和文档(https://torna.cn/dev/)。
接口文档解决方案,目标是让接口文档管理变得更加方便、快捷。Torna采用团队协作的方式管理和维护接口文档,将不同形式的文档纳入进来统一维护。
Torna提供了强大的API管理功能,并且有开放的API,通过这些API可自动将文档推送到Torna企业级接口文档管理平台。
使用方法和配置方法在这(https://gitee.com/durcframework/torna#%E4%BD%BF%E7%94%A8%E6%AD%A5%E9%AA%A4)。
Smart-Doc和Torna配合使用前置条件配合使用的基础是:
1、Smart-Doc已经配置好了,至少成功生成本地文档。
2、Torna配置好了,成功登录服务端。
满足以上两点,就可以着手将两个模块接一起了,Torna在官方文档中也给出了详细的方法步骤,点这(https://torna.cn/dev/smart-doc.html#整合smart-doc)。
通过这套组合可以实现:只需要写完Java注释就能把接口信息推送到Torna平台,从而实现接口预览、接口调试。
效果展示最终的效果就和Torna文档里展示的一样,为了方便起见,我直接用文档的示例做说明。
比如有一个接口定义如下:
/** * 产品模块 * * @author thc */@RestController@RequestMapping("shop/product")public class ProductController { /** * 查询产品 * * @param productNo 产品id|123 * @return */ @GetMapping public Resultget(@RequestParam Integer productNo) { ProductVO productVO = new ProductVO(); productVO.setProductNo(String.valueOf(productNo)); return Result.ok(productVO); }}
其中ProductVO的结构是:
public class ProductVO { /** * 产品id * * @mock aa */ private String productNo; /** * 备注 * * @mock xxx */ private String remark; /** * 产品详情 * * @mock */ private ProductDetailVO productDetailVO; ... 省略getter setter }
那么生成的接口文档效果如下:
对照着看一下,可以发现Smart-Doc + Torna的方案生成的接口文档,请求参数和响应参数的描述和示例都非常详尽,在方便接口对接的同时,也大大减轻了开发人员的负担。
踩过的坑文档上的东西还是很细的,但是在配置和使用过程中仍然会踩坑,这里说一下踩过的每一个坑。
appKey在Smart-Doc的文档中提到Torna从1.11.0版本开始,使用smart-doc推送文档数据已经不再需要配置appKey和secret, 仅需要配置appToken即可,因此建议升级Torna版本。。我用的版本组合是Smart-Doc:2.5.3+Torna:1.16.3,按文档的说法是不需要配置appKey的,但是在实际使用中发现文档生成后往Torna上推送的时候怎么都不成功。
后来在调试的时候发现,推送还是验证了appKey,不过只要不是null就能通过验证,所以在每个模块的smart-doc.json中都配置了"appKey":"xxx",然后就推送成功了。
appToken这个倒不是跟文档描述不一致,只是理解出现了偏差。
当子模块有多个的时候,需要在torna中新建对应的模块,每个模块有一个单独的appToken,然后给不同的子模块配置不同的appToken。
我刚开始不知道需要给每个子模块单独配appToken,导致我的文档推送的时候,后一个子模块就把前一个子模块的文档覆盖了,只有最后一个子模块的文档能看到。
总结Smart-Doc + Torna的生成和管理接口文档解决方案只需写好注释、规范代码,就能通过对注释和实体类的解析来生成示例详尽的接口文档,适用范围很大;由于其对代码零侵入的特性,不用改动业务代码就能使用,对旧代码也很友好。
并且根据我这俩月的使用体验来说,非常丝滑,还能鞭策我在写代码的时候注意代码规范、好好写注释,使我的代码质量有了提升。
总之就是非常不错,嗯。
标签:
为您推荐
广告
- 一款强大的API接口文档管理工具-世界速看料
- 海洋王: 关于召开2023年第一次临时股东大会的通知
- 广东:职工居家隔离期间,企业必须按正常劳动支付工资_焦点消息
- 叮当钱包逾期15天有啥影响啊?|天天滚动
- 危地马拉所谓“驻台湾大使”宣布将举办“友邦峰会”,外交部回应_环球观热点
- 供销社板块拉升 天禾股份涨停 天天新视野
- 广发证券:第一大股东吉林敖东药业增持H股比例超过1%|速看料
- 大中矿业荣获和讯第20届中国财经风云榜“2022年度卓越价值上市公司”奖项
- 环球最资讯丨科信技术董秘回复:公司致力于新产品和新技术的研发
- 禹州市阳翟社区:疫情无情人有情 接力迎接新生命
- 躺赢美滋滋!哈登9投4中仅得到11+4+4 第四节0出手
- 天天快播:新媒体团队如何“阳敌”,来自3位“阳过”同行的心得
- 多燕瘦酵素果冻“酵”醒活力,助力“肠”享健康-焦点关注
- 本周盘点(12.12-12.16):安源煤业周跌4.12%,主力资金合计净流出1288.42万元 每日热讯
- 嘉亨家化:12月15日获融资买入207.84万元
- 文远知行开启深圳首个前装量产自动驾驶小巴载人示范运营 环球要闻
- 遍植“幸福树” 结出“致富果”——农行鲁山县支行倾力支持林果业发展 全球播报
- 陕西旅游质押西安旅游文化产业100%股权 以担保5亿元短期借款
- 今日播报!芙蓉王蓝色硬盒(芙蓉王蓝色硬盒好抽不)
- 开播十分钟观看人数破20万 你看《三体》了吗?-新资讯
- 1货车司机“被个体户” 还是企业“甩锅”的套路
- 2中国人寿最新公告:拟将美国存托股份从纽交所退市 聚看点
- 3河湖管护经验获全国推广 热点
- 4每日讯息!我是真的爱你:明明是一部爱情剧,观众因何会感到惊悚又悬疑
- 5第一医药(600833)12月12日主力资金净买入754.73万元
- 6美亚柏科董秘回复:公司业绩存在第四季度集中的特点,当前正全力以赴加快产品交付和项目验收
- 7世界短讯!中金公司:光伏胶膜对POE的需求量将持续提升
- 8天天日报丨阿尔戈斯咨询公司:上调Allscripts Healthcare(MDRX.US)评级
- 9股票行情快报:云涌科技(688060)12月6日主力资金净买入423.14万元 世界新动态
- 10“618”大促理性消费成主流 多种创新电商模式或引发新一轮洗牌
- 1深夜虚拟人如何持续卖货? 虚拟主播带货真的对消费者有吸引力吗?
- 2中核向晶科能源采购光伏设备以开发云南80MW光伏电站
- 3晶澳、一道和锦州阳光拟中标中广核新能源2022年第一批组件集采01标段
- 4对户用光伏设计提出要求 山东省出台《低压分布式光伏计量采集典型设计方案》
- 5南方能监局:加强南方区域新型储能发展应用监管工作
- 6工信部:打造绿色低碳产品供给体系,实施智能光伏产业创新发展专项行动
- 7国家统计局:2021年末并网太阳能发电装机30656万千瓦 增长20.9%
- 8德国将100%实现可再生能源发电提前至2035年
- 9西班牙Q-Energy到2025年将投资90亿欧元用于可再生能源
- 10江苏南京与华能集团共建的中国能谷项目正式启动
广告
- 天合光能与云南曲靖签约2GW光伏制造及地面光伏项目
- 京运通与天合光能签订2.9亿片硅片销售大单 合同金额24.5亿元
- 浙江温州瑞安拟投资150亿元建滩涂光伏项目
- 云南巍山整县光伏招商:5000万产业配套、约3000万租金一次性付清
- 新疆巴州风、光600MW竞配业主公示:中石油、国家电投、国家能源集团拟中标
- 农业农村部:支持有条件的脱贫地区发展光伏产业
- 希腊石油公司收购希腊的303兆瓦太阳能项目
- SB Energy与First Solar达成1.5GW太阳能组件交易
- 总投资5亿元 广西平果市100MW农光互补项目签约落地
- 通讯:守护“地球皮肤” 让“草原归绿”
- 浙江温州两社区全员核酸检测:24699人全部阴性
- 上海防空警报全市鸣响 逾226万人参加防空疏散演练
- 河南发布中秋、国庆风险提示:防范遏制重特大事故发生
- 攀枝花一男子凌晨在金沙江非法捕捞并暴力拒捕,已被刑拘
- 南沙港铁路建设者中秋不停工 守护心中别样“圆”
- “体育里的非遗”看新疆:少数民族传统体育项目蓬勃发展
- 福建漳州新增2例确诊病例 分区精准防控疫情
- 河南部分地区将迎暴雨、大暴雨
- 动车司机王伟:职业生涯中最庄严、最难忘的5次鸣笛
- 厦门三医院停诊 同安区停产停工