一、背景

我正在建设一个租房平台,进行基于租房业务的架构实践。我尝试着按照不同领域创建了几个微服务,写了一些接口,准备模拟真正的IT企业开发环境,但是接口多了难免有变更,维护成本,目前一个人的话维护接口文档确实很费时间,无法投入到更多架构,服务设计落地上。因此需要有一个文档管理平台,来管理不同微服务的接口描述,便于后面多人开发的时候提供基础文档。

二、文档管理选型

2.1 方案1-自研

当时遇到接口文档管理瓶颈之后,想着可以借用之前自己捣鼓的文档管理工具代码进行继续开发和迭代,但是也无异于从头搞一套文档管理工具,因此自研的成本也比较高,为了快速辅助业务开发,自研的道路行不通。

2.2 寻找开源免费产品

在调研的时候也发现市面上开源的接口文档管理工具有很多,因此更加坚定了使用开源产品的念头,在寻找开源平台的时候也做了一些评估,比如轻量级,可二次开发,可以快熟上手,与业务工程松耦合,不侵入业务代码等等。经过一些调研发现有很多不错的产品比如smartdoc,yapi,swagger,而且都有大规模使用。综合评估下决定还是使用yapi吧,简单来说逃脱不了真香定律,但是yapi的文档管理适合企业级开发应用,同时适合多团队项目使用,便于接口管理,另外也调研了基于yapi的一些工具生态,集成插件等,这些做的都比较好。因此,yapi便是我首要调研落地使用的开源产品。

三、windows部署Yapi

要想使用yapi并不是没有成本的,在部署之前我们需要了解一下yapi的依赖环境,首先需要安装node.js,另外yapi的文档管理基于mongodb,因此这里也需要先安装mongodb。在跟其他文档管理工具比较的时候yapi的一个明显的缺点就是比较重,需要更多的基础设施。

3.1 windows 安装mongodb

在启动yapi之前,这里需要先安装mongodb.先下载安装包,我本地的安装包是:mongodb-win32-x86_64-2008plus-ssl-3.4.10-signed.msi。

下载安装参考这个博客:https://www.cnblogs.com/zhuziyu/p/9213891.html。下图是我的安装目录:

在install里面新建目录etc,E:\programfiles\softtools\mongodb\install\etc

新建配置文件mongodb.conf,内容如下:

dbpath=E:\programfiles\softtools\mongodb\install\data #数据库路径
logpath=E:\programfiles\softtools\mongodb\install\logs\mongodb.log #日志输出文件路径
logappend=true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是重新创建一个新文件
journal=true #启用日志文件,默认启用

cmd进入install文件夹下的bin目录,执行命令:

mongod --config E:\programfiles\softtools\mongodb\install\etc\mongodb.conf

上述命令是启动mongodb服务的命令,安装博客链接中的mongo命令,类似于客户端访问,这里要区分开。执行命令之后访问http://localhost:27017,判断是否启动成功。

3.2 windows 安装Yapi并启动

安装之前这里给出yapi的官方文档链接:https://hellosean1025.github.io/yapi/documents/index.html

参考内网部署链接:https://hellosean1025.github.io/yapi/devops/index.html

基于windows平台的话,其实也很简单,参考上面文档中的命令行部署即可。

3.3 配置easyapi-idea插件

经过一番调研之后,发现yapi的一些集成插件还是挺多的,这里给出我认为比较好的一款插件,easyapi-idea插件。官网链接:http://easyyapi.com/documents/index.html

安装方式跟其他idea插件类似,,这里参考官方文档即可。

3.4 导出文档实战

进入vendor目录,启动yapi服务器,如下图:

进行项目配置,yapi需要配置用户名,密码,由于启动依赖mongodb,因此需要先启动mongodb。配置完成第二次启动则可以通过下面的命令启动yapi:

这里进入E:\programfiles\softtools\Yapi\my-yapi目录下执行命令

node vendors/server/app.js

启动成功之后如下图:

这里说明一下,yapi的接口文档是以项目为维度的,所以跟springboot的微服务工程是一致的,因此口径上不太一致,创建项目之后,就可以手动维护接口了,这里通过easyyapi的配置自动导出。每个yapi的项目中有个token字段,需要通过easyyapi-idea插件配置一下这里简要说明一下,如下图是我创建的房源域项目,token是一串字符串:

根据官方的设置文档,我们需要做一些配置以链接到yapi,做认证,如下图:

配置完成之后就可以愉快的进行接口api管理了~

我最近整了一个公众号,持续输出原创内容,敬请关注:

Yapieasyapi文档管理平台安装与使用相关推荐

  1. 【云原生之Docker实战】使用Docker部署Mindoc文档管理平台

    [云原生之Docker实战]使用Docker部署Mindoc文档管理平台 一.Mindoc介绍 1.Mindoc简介 2.Mindoc功能 二.检查宿主机系统版本 1.检查操作系统版本 2.检查系统内 ...

  2. 自建低成本代码托管与文档管理平台经验分享

    自建低成本代码托管与文档管理平台经验分享 云服务器选择 搭建Gitea服务 仓库镜像管理 树莓派备份节点 Nextcloud文件管理 写在最后 直入入正题,自建代码托管平台其实市面上早有成熟的方案,s ...

  3. 整理全网文档管理平台,持续跟更新

    文档管理系统 不会写文档得程序猿不是好程序猿,在日常工作中,几乎无时无刻离不开文档,也使用过很多文档管理平台,特此记录下. 1 MrDoc 地址:https://gitee.com/zmister/M ...

  4. egg+vue+mongodb实践开发在线文档管理平台——水墨文档

    授权转载自:围的围 https://segmentfault.com/a/1190000037621367 前言 团队中会遇到在线文档管理的需求,包括技术文档,接口文档, excel 文档,和产品原型 ...

  5. 【工具】目前几种常见的线上接口文档管理平台的比较

    文章目录 一.前言 二.接口文档在线平台 1.apizza 1.1 文档导出html 1.2 导入Postman.json和Swagger.json文件 2. YApi 2.1 源码开源&免费 ...

  6. Confluence 文档协作平台安装部署笔记

    文章目录 一.下载并安装 1.下载地址 2.赋予运行权限 3.执行安装 二.初始化配置Confluence 1.访问 Confluence 页面 2.激活 Confluence 3.配置数据库(使用M ...

  7. 在线ajax测试,在线测试 - SosoApi,简单强大的api接口文档管理平台

    背景: 在实际项目开发协同过程中,特别是前后端由不同开发人员开发时,前端接口联调必须要等后端接口开发完成后才可以.这种方式使得前端极大的依赖 于后端,使得原本可以并行的工作被阻塞了,特别是流程性质的功 ...

  8. 一款强大的API接口文档管理工具(Smart-Doc + Torna)

    [本文由龙飞同学供稿] 在团队协作开发项目的时候,接口文档承担着向其他开发人员说明接口相关信息的重要任务,因此,一份清晰而又相近的接口文档至关重要. 但是,写接口文档的痛苦想必各位开发人员都体验过,明 ...

  9. 在线接口文档管理工具推荐,支持在线测试,生成漂亮的http文档

    易文档 英文名叫easydoc,是新出来的文档管理平台,跟市面的那些有所不同,这个不管是编写体验还是预览,专业性和美观性都会大大超越其他的. 看下他的预览效果: 市面很多http接口文档的编写都是直接 ...

最新文章

  1. 根据值 加密后的值 算出key_Bugku:加密 rsa
  2. 中国数字化进程比发达国家快,小程序让我感到自豪 | IT领袖峰会
  3. java 自己抛空指针异常_java Timetask 访问service 抛空指针异常解决方案
  4. 深度对话之小舟与他的无限世界
  5. poj 3257(哈希+二维dp)
  6. 开放课程管理系统(Moodle)的介绍(转)
  7. MongoDB中关于64位整型存储解决方案
  8. Window10 安装虚拟机搭建LInux系统
  9. PHP判断ip地址是否合法
  10. css中的.clearfix是什么意思?
  11. c# define 类似_c#跟c++的相似之处
  12. 通用数据库连接工具--DbVisualizer的使用
  13. 一、对文本文件进行数据粒度转换,即将文本文件personnel_data.txt中字段household_register的数据统一成省份,并且输出到文本文档personnel_data_new.tx
  14. 奥的斯服务器状态显示,OTIS服务器(TT)查看故障及清除故障的方法
  15. DNF——一开游戏,TP刚读完条就蓝屏(终止代码:KMODE_EXCEPTION_NOT_HANDLED)的解决方法
  16. html中日期下拉选怎么设置,html中option标签(下拉列表选项)的详细介绍
  17. 基于微信小程序云开发的投票小程序源码,图文投票微信小程序源码
  18. 自我保健很重要:先付钱
  19. 第四十一章 贪心算法——排序不等式
  20. Ubuntu 12.04下安装搜狗拼音 + 安装搜狗皮肤

热门文章

  1. 机器学习自动化 要学习什么_从电视节目“先生”中学习自动化网络安全。 机器人'
  2. iOS7下的drawInRect的新方法drawInRect:withAttributes:使用
  3. Invertible Image Rescaling 可逆图像缩放:完美恢复降采样后的高清图片(ECCV 2020 Oral )
  4. 获取微信运动 php,【小程序+ thinkphp5】 获取微信运动数据
  5. STM32-USB学习系列(六):USB-HID键盘的实现以及键盘报文描述符的简介
  6. 最新!「大象机器人」即将推出双臂人形机器人,智能机器人时代可期!
  7. 计算机师徒结对方案,指导青年教师(师徒结对)工作计划
  8. 零基础ESP8266学习篇-认识esp8266
  9. 冲孔网——现在普遍应用的装饰产品-KAIYAO
  10. “Adb connection Error:远程主机强迫关闭了一个现有的连接。”之我的解决方法。