一、Yapi 介绍
YApi 是一款主要用于前后端开发团队协作的 API 管理平台。它可以帮助团队更加高效地进行 API 接口的设计、测试、文档管理和版本控制等工作。下面是 YApi 系统的一些主要作用:
-
API 设计与管理:YApi 允许开发者创建、设计 API 接口,并对其进行管理,包括定义数据结构、响应格式等。
-
自动化文档生成:一旦 API 被设计好,YApi 可以自动生成相应的文档,减少手动编写文档的工作量,同时保证文档的准确性和时效性。
-
Mock 服务支持:YApi 支持生成 Mock 服务,可以在后端接口尚未完成的情况下,前端开发人员也能基于模拟的数据进行开发工作。
-
接口测试:内置的接口测试功能可以让开发人员直接在平台上对 API 进行测试,验证其正确性。
-
版本控制:YApi 支持 API 的版本管理,有助于维护不同版本的 API,方便回滚或维护长期支持的版本。
-
团队协作:通过权限管理,可以实现团队成员之间的协作,比如 API 的共享、评论等功能,提高团队沟通效率。
-
插件扩展:YApi 支持插件系统,可以根据需要安装不同的插件来增强功能,比如导出导入、环境切换等。
YApi 的主要目的是简化 API 开发流程,提升开发效率,尤其是在大型项目中,它可以极大地帮助团队保持良好的沟通和同步,减少因文档更新不及时或接口变更而导致的错误。如果你正在寻找一种工具来更好地管理你的 API,YApi 可能是一个值得考虑的选择
二、部署
1、准备Mongodb、docker
以下部署过程中需要一个Mongodb,作为yapi 的数据库 ,存储元数据使用,通过docker 进行服务的部署
参考版本:
- docker:26.1.3
- mongodb: 7.0.12
2、启动服务
docker run -d \
> --name yapi \
> --workdir /yapi/vendors \
> -p 3000:3000 \
> -v /data/app/yapi/config.json:/yapi/config.json \
> registry.cn-hangzhou.aliyuncs.com/anoyi/yapi \
> server/app.js
配置文件(包含ldap 对接)
{
"port": "*****",
"adminAccount": "********",
"db": {...},
"mail": {...},
"ldapLogin": {
"enable": true,
"server": "ldap://l-ldapt1.com",
"baseDn": "CN=Admin,CN=Users,DC=test,DC=com",
"bindPassword": "password123",
"searchDn": "OU=UserContainer,DC=test,DC=com",
"searchStandard": "mail", // 自定义格式: "searchStandard": "&(objectClass=user)(cn=%s)"
"emailPostfix": "@163.com",
"emailKey": "mail",
"usernameKey": "name"
}
}
enable
表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);server
LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;baseDn
LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径(非必须);bindPassword
登录该 LDAP 服务器的密码(非必须);searchDn
查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;searchStandard
查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换emailPostfix
登陆邮箱后缀(非必须)emailKey
: ldap数据库存放邮箱信息的字段(v1.3.21 新增 非必须)usernameKey
: ldap数据库存放用户名信息的字段(v1.3.21 新增 非必须)
3、验证服务
http://ip:3000