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

相关文章

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python