• YAPI介绍及Docker Compose部署指南


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

    在选择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'}]})
    
    • 1
    • 2
    • 3
    • 4
    • 5

    第二步:构建镜像

    创建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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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

    https://mirrors.aliyun.com/alpine/v3.6/main/
    
    https://mirrors.aliyun.com/alpine/v3.6/community/
    
    
    • 1
    • 2
    • 3
    • 4

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

    docker build -t xj/yapi:2.0 .
    
    • 1

    _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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    docker-compose up -d 
    
    • 1

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

    填写邮箱及数据库信息

    _20231017224416.jpg

    填写好之后点击开始部署

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

    _20231017224628.jpg

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

    docker-compose down
    
    • 1

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

    vim docker-compose.yml
    
    • 1

    _20231017225008.jpg

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

    docker-compose up -d
    
    • 1

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

    _20231017225132.jpg

    YAPI使用

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

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

    _20231017225613.jpg

    _20231017225751.jpg

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

    _20231017230558.jpg

    _20231017230840.jpg

    总结

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

  • 相关阅读:
    CSS 字体
    Extended real number line
    阿里云python-SDK配置
    对于Redis,如何根据业务需求配置是否允许远程访问?
    【endnote】如何将参考文献放到想放的位置
    如何提升自己?
    shell 重定向
    图解Mysql索引原理
    软件测试之【单元测试、系统测试、集成测试】
    梓航DIY无限建站-3.5.8(企业官网 应用首页 PC建站 14套模板切换,自由组合页面,无限多开)
  • 原文地址:https://blog.csdn.net/weixin_44002151/article/details/133896455