一、前言

在我们后端开发中,必不可少的是接口的交接,有很多种方式,常见的就是swagger,不过这个侵入性太强了。还有就是接口文档的框架,比如今天小编带大家一起搭建的yapi,在公司还是挺常见的!

今天小编就大家从搭建到使用,详细的教学一波哈!!

二、介绍

1. 平台介绍



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

2. 特性

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

3. 环境支持

  • nodejs(7.6+)
  • mongodb(2.6+)
  • git

在docker中只需要搭建一下mongo,用来数据的存储即可!

三、运行mongo

0. 创建网络

  1. docker network create yapi

1. 创建挂载文件

  1. mkdir -p /data/mongo

2. 运行mongo

  1. docker run -d \
  2. --name mongodb \
  3. --restart always \
  4. --net=yapi \
  5. -p 27017:27017 \
  6. -v /data/mongo:/data/db \
  7. -e MONGO_INITDB_DATABASE=yapi \
  8. -e MONGO_INITDB_ROOT_USERNAME=yapi \
  9. -e MONGO_INITDB_ROOT_PASSWORD=yapi \
  10. mongo

启动 MongoDB,其中 -e 指定 MONGO_INITDB_ROOT_USERNAME 为 MongoDB 的 ROOT 用户名,MONGO_INITDB_ROOT_PASSWORD 为 MongoDB 的 ROOT 用户密码

3. 进入容器初始化数据库

进入 MongoDB 容器,从上图查看 MongoDB 容器可以获取到容器 id,以下示例使用 50f1f6c50139代表 MongoDB 的容器 id,只需要简写即可!

  1. docker exec -it 50 /bin/bash

接着输入:

  1. mongosh

新版本需要加上sh,不然无法进入!

  1. use admin;
  2. db.auth("yapi", "yapi");
  3. # 创建 yapi 数据库
  4. use yapi;
  5. # 创建给 yapi 使用的账号和密码,限制权限
  6. db.createUser({
  7. user: 'yapi',
  8. pwd: 'yapi',
  9. roles: [
  10. { role: "dbAdmin", db: "yapi" },
  11. { role: "readWrite", db: "yapi" }
  12. ]
  13. });
  14. # 退出 Mongo Cli
  15. exit
  16. # 退出容器
  17. Ctrl+P+Q

四、运行yapi

1. 搭建挂载配置文件

  1. mkdir -p /data/yapi
  1. vim config.json
  1. {
  2. "port": "3000",
  3. "adminAccount": "wangzhenjun1221@163.com",
  4. "timeout":120000,
  5. "db": {
  6. "servername": "mongo",
  7. "DATABASE": "yapi",
  8. "port": 27017,
  9. "user": "yapi",
  10. "pass": "yapi",
  11. "authSource": ""
  12. },
  13. "mail": {
  14. "enable": true,
  15. "host": "smtp.gmail.com",
  16. "port": 465,
  17. "from": "*",
  18. "auth": {
  19. "user": "wangzhenjun1221@163.com",
  20. "pass": "xxx"
  21. }
  22. }
  23. }

:wq退出

2. 初始化数据库表

  1. docker run -d --rm \
  2. --name yapi-init \
  3. --link mongodb:mongo \
  4. --net=yapi \
  5. -v /data/yapi/config.json:/yapi/config.json \
  6. yapipro/yapi \
  7. server/install.js

3. 测试连接mongo

我们使用Navicat进行可视化的连接

数据库输入:admin

用户名密码都是刚刚配置的:yapi

连接成功!!

4. 运行yapi

  1. docker run -d \
  2. --name yapi \
  3. --link mongodb:mongo \
  4. --restart always \
  5. --net=yapi \
  6. -p 3000:3000 \
  7. -v /data/yapi/config.json:/yapi/config.json \
  8. yapipro/yapi \
  9. server/app.js

5. 测试使用

ip:3000

http://192.168.84.144:3000/



初始化管理员账号在上面的 config.json 配置中adminAccount

初始化密码就是:yapi.pro

6. 新建项目

7. 获取token

五、Idea中使用

1. 下载插件

插件名称:EasyYapi

2. 配置插件

3. 测试上传

找到controller



选择你要上传的接口,点击对号上传!

填写token



上传成功:

六、在线请求使用

1. 配置地址

2. 配置地址

3. 安装cross-request 插件

发送请求时,会提醒你安装,你按照提示安装下载即可!

也可以下载小编的:

链接:https://pan.baidu.com/s/1Bx6nGFjKsQ3ajbnLPcjsSA

提取码:gljt

直接解压,拖拽到这里就行!!

4. 点击发送

测试完成!!

七、总结

总的来说搭建还是比较简单,集成和使用也挺好用!非常推荐哈!!

小编辛辛苦苦写了半天,看到这里还不给小编点个关注!!谢谢大家


有缘人才可以看得到的哦!!!
欢迎关注小编的微信公众号,谢谢大家!
![](https://img2022.cnblogs.com/blog/2471401/202210/2471401-20221008100307074-1316795195.jpg)

点击访问!小编自己的网站,里面也是有很多好的文章哦!

docker搭建yapi接口文档系统、Idea中上传接口、在线调用的更多相关文章

  1. apidoc 接口文档系统

    代码未动,文档先行.apidoc可以方便地维护接口文档.模拟响应数据.前后端分离.导出PDF文档. 特性说明 可视化编辑:支持表单界面编辑接口,不必手动编辑swagger.json 接口模拟响应:支持 ...

  2. 我的第一个python web开发框架(23)——代码版本控制管理与接口文档

    书接上一回,小白和老菜聊到代码的版本控制和接口文档 小白:为什么要做版本控制,我不弄版本控制不也完成了项目了吗?要做版本控制不是很麻烦,又要安装服务又要提交代码,代码又不是多人用开发,还要写文档... ...

  3. Swagger解决你手写API接口文档的痛

    首先,老规矩,我们在接触新事物的时候, 要对之前学习和了解过的东西做一个总结. 01 痛     苦 不做.不行 之前,前后端分离的系统由前端和后端不同的编写,我们苦逼的后端工程师会把自己已经写完的A ...

  4. Swagger 接口文档规范

    导语: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过.前端经常抱怨后端给的接口文档与实际情况不一致.后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新.其实无论是前端调用后端,还是 ...

  5. [Django REST framework - 自动生成接口文档、分页]

    [Django REST framework - 自动生成接口文档.分页] 自动生成接口文档 # 后端人员写好接口,编写接口文档,给前端人员看,前端人员依照接口文档开发 # 公司里主流 -后端,使用w ...

  6. 用Swagger生成接口文档

    Swagger简介 在系统设计的时候,各个应用之间往往是通过接口进行交互的.因此接口的定义在整个团队中就变得尤为重要.我们可以把接口的规范用接口描述语言进行描述,然后Swagger可以根据我们定义的接 ...

  7. 智表ZCELL产品V1.4.0开发API接口文档 与 产品功能清单

    为了方便大家使用ZCELL,应网友要求,整理编写了相关文档,现与产品一起同步发布,供大家下载使用,使用过程中如有疑问,请与我QQ联系. 智表(ZCELL)V1.4.0版本  功能清单文档下载地址: 功 ...

  8. RAP, 高效前后端联调框架,接口文档管理工具

    RAP通过GUI工具帮助WEB工程师更高效的管理接口文档,同时通过分析接口结构自动生成Mock数据.校验真实接口的正确性,使接口文档成为开发流程中的强依赖.有了结构化的API数据,RAP可以做的更多, ...

  9. API接口文档的撰写

    接口文档: 要写:接口简介.请求参数.返回结果.注意事项. 下面以“喜马拉雅的 ‘圈子’ ”为例子: 接口一 (1)接口简介 http://ipservice.mogujie.com/ipservic ...

随机推荐

  1. 【万字长文】使用 LSM-Tree 思想基于.Net 6.0 C# 实现 KV 数据库(案例版)

    文章有点长,耐心看完应该可以懂实际原理到底是啥子. 这是一个KV数据库的C#实现,目前用.NET 6.0实现的,目前算是属于雏形,骨架都已经完备,毕竟刚完工不到一星期. 当然,这个其实也算是NoSQL ...

  2. 使用Properties集合存储数据,遍历取出Properties集合中的数据和Properties集合中的方法store和load

    package com.yang.Test.PropertiesStudy; import java.io.FileWriter; import java.io.IOException; import ...

  3. 《Python编程:从入门到实践》第19章笔记:用户/用户注册/身份验证

    接上篇django最基本的一些日常用法,这是第19章笔记,希望在做"动手试一试"的时候可以让自己方便参考. 这一章实现了两个功能: 1.让用户能够添加主题Topic和条目Entry ...

  4. 在 Apache DolphinScheduler 上调试 LDAP 登录,亲测有效!

    点击上方 蓝字关注我们 作者 | 小钻风 01 背景 当看这边文章时,那得恭喜您终于找到宝藏,这是梦开始的地方-- 使用 Apache  DolphinScheduler 的小伙伴会遇到个挠脑袋的问题 ...

  5. mysql 8.0.28 查询语句执行顺序实测结果

    TL;NRs 根据实测结果,MySQL8.0.28 中 SQL 语句的执行顺序为: (8) SELECT (5) DISTINCT <select_list> (1) FROM <l ...

  6. 神器 利器 Typora

    用typora编辑真的实在太爽了! gooooooooooooooooooooooooooooooood! 支持html可以实现好看的排版! 支持latex实在是太棒了! 不过默认不支持,要去首选项里 ...

  7. SPI:Java的高可扩展利器

    摘要:JAVA SPI,基于接口的编程+策略模式+配置文件的动态加载机制. 本文分享自华为云社区<一文讲透Java核心技术之高可扩展利器SPI>,作者: 冰 河. SPI的概念 JAVA ...

  8. Spring5完整版详解

    1.Spring 1.1简介 2002,首次退出来Spring框架的雏形:interface21框架 Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,与2004年 ...

  9. 第五十四篇:网络通信Axios

    好家伙,补充知识 1.什么是Axios? Axios可以在浏览器中发送 XMLHttpRequests Axios 是一个基于 promise 的 HTTP 库,简单的讲就是可以发送get.post请 ...

  10. SpringMvc(一)-初识

    1.环境搭建 1.1 jar包 <spring.version>4.3.18.RELEASE</spring.version> <!-- spring-mvc begin ...