Yapi + Nginx

Yapi + Nginx,第1张

这篇文章不算从零搭建,只是记录一下其中的坑。

客户端:Chrome
服务器:Linux + Nginx

Yapi的内网搭建,照官网上来的即可,9999%不会出问题(001%看人品)。

在公司搭建的过程中,运维搭建好,配好域名,在使用过程中发现,在添加,删除,编辑,会出现奇怪的问题,要么JS报错导致页面错误,要么页面没变化,刚开始真的没头绪。

这时候,万能的 F12 来了。

看到一个很奇怪的现象

from disk cache 字面意思读本地缓存,这就神奇了,这之前没遇到过,点开发现

竟然存在 10分钟的缓存

比较了我本地搭建的,IP+端口没有缓存的,本地的 *** 作就都是正常的。

至此大胆猜测了一下,就是这缓存导致的,而且假设有缓存的情况,上述的奇怪的现象都能解释得通了。

于是让运维去检查一下nginx里面是不是设置了缓存到期时间。

果然,然后,就好了。

其实在之前,运维搭过一次,但是之前在忙别的事,竟然让运维重新搭建,主要自己本地的是好的,然后也是自己不熟nodejs,有点惶恐。

这次问题的解决,发现问题可以慢慢仔细分析,总能解决的。

最近在找一款API文档管理工具,之前有用过Swagger、API Manager、Confluence,现在用的还是Confluence。

我个人一直不喜欢用Swagger,感觉“代码即文档”,让代码里的文档无处不在,已经对代码造成了一定的入侵了。API Manager就是一个纯API文档管理的工具了。Confluence是万能的,也是最简单的,支持各种插件在线安装,可以有各种布局,支持MD文档,也支持表格、代码块等。

最近看到一篇文章在说YAPI,就准备搭建一个试试效果如何。

YAPI是去哪儿网开源的一款API管理工具,理念如下:

特性:

选择YAPI试试手的原因是因为我看到了它支持MockServer,这样前端开发同学就不用等待后端同学了。主要是我也懒得搭建一套mock服务,有这样一款工具何乐而不为呢?所以今天就找了一台服务器安装了一下。考虑排版问题,就以形式放出来了。

nodeJS长期支持版本官网下载地址:>展示分组内自己所在的项目,点击进入项目详情

展示和管理分组内的人员构成

1添加成员
2更改成员权限
3删除成员

展示分组内的项目接口动态

自定义分组信息

添加分类,生成新的接口集合
在分类中添加接口,新增简单接口信息

点击某个接口,进入接口详情--预览

展示详细的接口信息,包括基本信息,请求参数,返回数据等

点击顶部“编辑”,进入编辑模式

接口的基本信息及路径
接口url中有参数的,可以用{}标识

1参数类型可以选择 body,query以及headers
2body参数可以选择对应类型
3选择form格式可以批量添加参数
4选择json格式可以直接导入,系统会进行格式校验,通过后会自动解析并填充在下方

1返回数据为接口期望的返回结果,也可以已json格式或者raw格式填写
2选择json格式可以直接导入,系统会进行格式校验,通过后会自动解析并填充在下方

发送--请求此接口
保存--将此接口及请求数据保存至测试合集

可以自定义接口返回,设置过滤条件,满足过滤条件时,请求的接口返回则为自定义的返回

此处设置一个期望,打开postman,请求对应的mock地址
参数满足过滤条件,则请求返回为自定义结果

后续更新自动化实施详细讲解

api更新修改后,此处可以查看修改记录及修改内容
点击改动详情,可查看接口的具体改动内容。红色表示删除的内容,绿色表示新增的内容。

点击d出下拉框,可选择自己需要的模式
导入成功后,导入的接口会在接口列表中展示

可将平台中已有的接口数据导出,导出后的文件可以作为数据源再次在其他项目导入。
可以解决项目迁移的问题

对项目所属成员进行增加,删除,修改权限等 *** 作

项目基本信息

1、项目环境管理,可以配置多个不同的环境,在测试接口或者进行自动化测试时可以按需选择对应的环境
2、环境可以增加,可以删除
3、每个环境可以单独设置域名,请求头,全局变量等个性化数据,以满足测试的多样性

可以自定义脚本,分为请求前和请求后的处理。请求前处理脚本,会在接口请求开始前执行,请求后处理脚本,会在请求完成后执行

生成唯一项目标识,可以作为请求yapi项目openapi的凭证
非可视化界面 *** 作,yapi提供了部分常用的openapi。
如:进行自动化测试,定期进行接口同步,进行数据导入等等

可以选择时间,选择周期,选择同步方式,定期自动执行接口同步,保证yapi平台中接口为最新接口,不需要人工维护

无特殊功能,可以作为一个记事本,记录项目关联信息

快乐摸鱼是一款基于Vue和Electron的开源接口管理工具。

GitHub地址
Gitee地址
完整文档
在线体验

最初构建这个项目的时候是为了学习Nodejs和解决团队前后端协调问题。社区中有 YApi 、Rap2、Doclever、 Nei、Swagger、Apidoc等开源解决方案,同时也存在 Postman、Eolinker、ApiPost等商业解决方案。

在这之前团队尝试了YApi和Rap2等社区方案,他们能够满足一些基本的需求,但是在深入使用以后,还是出现了一些影响效率的问题。当时使用这两个工具最大的问题就是接口无法支持多级嵌套,某些项目接口多了以后会导致检索效率大大降低。于是尝试从头开始写一款接口管理工具。

非常核心的一个功能,在前后端分离情况下,一套简洁的团队管理策略会大大提高分工效率。我们将权限分为 只读、读写、管理员三类。

上面的三种角色可以满足大部分日常使用需求。在一些特殊情况下你可能需要更加细粒度的权限控制,比如:拥有读写权限的用户你只希望他能编辑文档,但不希望他能导出全部文档。我们提供了自定义角色功能,可以精确到每一个接口和路由(一般情况下用不到)。

非常核心的一个功能,设计一个方便并且易使用的目录导航能够大大增强录入体验。我们从其他开源项目issue中总结了一些常见需求。

工具实现了上面的全部功能,同时也扩展了一些实用的功能。

标签导航是为了方便开发人员在多个接口之间快速切换,开源的产品这块做的并不是很完善,我们在实践中总结了这些需求。

大部分商用的接口工具都具备导航标签功能,但是开源产品这块大都不具备标签导航功能或者功能完成度不高

大部分的接口工具都会内置接口调试功能,这样开发人员只需要使用一个工具就能完成接口调试和接口录入。不过由于浏览器本身的限制(同源策略),直接在web端发起>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13508270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-21
下一篇 2023-08-21

发表评论

登录后才能评论

评论列表(0条)

保存