YApi 接口管理开源工具 nodejs+ mongoDB

2024-09-08 01:32

本文主要是介绍YApi 接口管理开源工具 nodejs+ mongoDB,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言介绍

Yapi 由 YMFE 开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。

  • 权限管理
    YApi 成熟的团队管理扁平化项目权限配置满足各类企业的需求

  • 可视化接口管理
    基于 websocket 的多人协作接口编辑功能和类 postman 测试工具,让多人协作成倍提升开发效率

  • Mock Server
    易用的 Mock Server,再也不用担心 mock 数据的生成了

  • 自动化测试
    完善的接口自动化测试,保证数据的正确性

  • 数据导入
    支持导入 swagger, postman, har 数据格式,方便迁移旧项目

  • 插件机制
    强大的插件机制,满足各类业务需求

使用 Docker 构建 Yapi

1、创建 MongoDB 数据卷

docker volume create mongo_data_yapi

2、启动 MongoDB

docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo

3、获取 Yapi 镜像,版本信息可在 阿里云镜像仓库 查看

docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi

4、初始化 Yapi 数据库索引及管理员账号

docker run -it --rm \--link mongo-yapi:mongo \--entrypoint npm \--workdir /api/vendors \registry.cn-hangzhou.aliyuncs.com/anoy/yapi \run install-server

自定义配置文件挂载到目录 /api/config.json,官方自定义配置文件 -> 传送门

5、启动 Yapi 服务

docker run -d \--name yapi \--link mongo-yapi:mongo \--workdir /api/vendors \-p 3000:3000 \registry.cn-hangzhou.aliyuncs.com/anoy/yapi \server/app.js

使用 Yapi

访问 http://localhost:3000 登录账号 admin@admin.com,密码 ymfe.org

至此,帅气的 Yapi 就可以轻松使用啦!更多文档信息,请参考

  • Yapi 官方文档
  • Yapi 版本更新记录

其他相关操作

关闭 Yapi

docker stop yapi

启动 Yapi

docker start yapi

升级 Yapi

# 1、停止并删除旧版容器
docker rm -f yapi# 2、获取最新镜像
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi# 3、启动新容器
docker run -d \--name yapi \--link mongo-yapi:mongo \--workdir /api/vendors \-p 3000:3000 \registry.cn-hangzhou.aliyuncs.com/anoy/yapi \server/app.js

构建任意版本 yapi 镜像

提示:以下所有文件均放在同一目录下

1、编写 Dockerfile

FROM node:9.2-alpine as builder
RUN apk add --no-cache git python make openssl tar gcc
ADD yapi.tgz /home/
RUN mkdir /api && mv /home/package /api/vendors
RUN cd /api/vendors && \npm install --production --registry https://registry.npm.taobao.org
FROM node:9.2-alpine
MAINTAINER 545544032@qq.com
ENV TZ="Asia/Shanghai" HOME="/"
WORKDIR ${HOME}
COPY --from=builder /api/vendors /api/vendors
COPY config.json /api/
EXPOSE 3000
ENTRYPOINT ["node"]

2、自定义配置文件 config.json

{"port": "3000","adminAccount": "admin@admin.com","db": {"servername": "mongo","DATABASE": "yapi","port": 27017}
}

3、镜像构建脚本 build

echo -e "\033[32m download new package (version $1) \033[0m"wget -O yapi.tgz http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-$1.tgzecho -e "\033[32m build new image \033[0m"docker build -t registry.cn-hangzhou.aliyuncs.com/anoy/yapi .

使脚本可执行: chmod a+x build

4、本地构建镜像,版本列表 -> 传送门

./build <Version>

示例: ./build 1.4.3


 

这篇关于YApi 接口管理开源工具 nodejs+ mongoDB的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2