YAPI介绍及Docker Compose部署指南

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

我们团队的项目最初前后端是同一个开发人员在做,因此并不存在提供详细接口文档等问题。随着项目的不断迭代,团队规模逐渐扩大,我们决定将前后端分开,专门由专业的前端和后端人员进行开发工作。然而,这样的改变也带来了一个新问题:后端需要在需求确定后向前端提供详细的接口文档,而后端开发完成后也需要进行相应的测试。

在选择API管理平台时,我们的首要标准是能够进行私有化部署,以保障数据的安全性。在经过一番比较后,我们最终选择了YAPI。今天,我将向大家介绍YAPI的相关内容,并分享如何通过Docker Compose进行部署。

yapi.jpg

YAPI简介

YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

yapi-base-flow.jpg

特性

  • 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
  • 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
  • 类似 postman 的接口调试
  • 自动化测试, 支持对 Response 断言
  • MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
  • 支持 postman, har, swagger 数据导入
  • 免费开源,内网部署,信息再也不怕泄露了

Docker compose 部署

第一步:部署MongoDB数据库

yapi部署依赖MongoDB的数据库,我习惯将数据库单独部署出来,如果家人们没有部署MongoDB数据库的话可以参考我们之前的文章MongoDB 解析:灵活文档数据库与 Docker Compose 部署进行部署。

使用navicat连接数据库,使用以下命令创建数据库:

# 先use命令切换至yapi数据库。如果该库不存在,那么则会创建该数据库。
use yapi;

# 创建用户,分配权限
db.createUser({user:'yapi',pwd:'xj2023',roles:[{role:'readWrite',db:'yapi'}]})

第二步:构建镜像

创建Dockerfile文件

FROM node:12-alpine

COPY repositories /etc/apk/repositories

RUN npm install -g yapi-cli --registry https://registry.npm.taobao.org

EXPOSE 3000 9090

在Dockerfile同级目录下创建repositories文件

https://mirrors.aliyun.com/alpine/v3.6/main/

https://mirrors.aliyun.com/alpine/v3.6/community/

在Dockerfile同级目录下使用如下命令构建镜像

docker build -t xj/yapi:2.0 .

_20231017202246.jpg

如此我们的镜像就打成功了

第三步:启动服务

创建docker-compose.yml文件

version: '3.7'
services:
  yapi:
    container_name: yapi
    image: xj/yapi:2.0
    command: "yapi server"              #第一次启动使用
   #  command: "node /yapi/vendors/server/app.js"             #后面启动使用
    ports:
      - "9090:9090"
      - "3000:3000"
    restart: always
    volumes:
      - ./data:/yapi

在docker-compose.yml同级目录下使用如下命令启动容器

docker-compose up -d

启动之后在浏览器中访问:http://192.168.10.105:9090/

填写邮箱及数据库信息

_20231017224416.jpg

填写好之后点击开始部署

出现如下日志,则说明部署成功了

_20231017224628.jpg

此时,我们需要先使用如下命令停止容器

docker-compose down

然后修改docker-compose.yml 文件,注释掉带有第一次启动使用注释的哪行,放开带有后面启动使用的哪行

vim docker-compose.yml

_20231017225008.jpg

保存文件后在docker-compose.yml的同级目录下使用如下命令启动容器

docker-compose up -d

到此,如果不出意味的话我们的服务就完全部署完成了,访问 就可以看到如下页面了

_20231017225132.jpg

YAPI使用

使用管理员账号密码登录,账号密码在第一次部署完成的时候会在日志中打印,密码初始为ymfe.org

登录之后可以看到有用户、系统等管理,可以创建项目,创建、发布、维护 API等功能,我们此处不在详细描述

_20231017225613.jpg

_20231017225751.jpg

我们如果想请求接口的时候和浏览器开发者工具(f12)中一样查看请求、相应等信息的话可以在谷歌浏览器中安转扩转程序cross-request,点击背景夜查看

_20231017230558.jpg

_20231017230840.jpg

总结

YAPI是一个功能强大的接口管理平台,通过其灵活的定制能力和完善的团队协作功能,能够极大地提高团队的工作效率和接口管理的便捷性。通过Docker Compose的部署方式,您可以快速搭建YAPI并开始使用。如果您有任何疑问或需要更多指导,请随时与我们联系。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
1月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
262 77
|
6天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用
53 27
|
6天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
39 23
|
7天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用。掌握这些Docker基础概念和操作,可以显著提高开发和部署效率,确保应用程序的可移植性和可扩展性。
55 22
|
7天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
39 22
|
10天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
52 25
|
22天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
11天前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
25天前
|
存储 Kubernetes Docker
Kubernetes(k8s)和Docker Compose本质区别
理解它们的区别和各自的优势,有助于选择合适的工具来满足特定的项目需求。
122 19
|
1月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
115 24

热门文章

最新文章