Rust 开发的一款接口设计工具 Panda Api

Panda api是一款接口设计工具,它能够生成文档、提供接口模拟服务(在你没写任何代码之前)、自动测试后端接口,有效提升项目的开发效率和质量。

Panda Api的说明视频 https://www.bilibili.com/video/av88926940?p=1

Panda Api 快速开发的视频教程 https://www.bilibili.com/video/av88926940?p=2

为什么要用Panda Api?

提升开发效率 和 开发质量:

Panda Api 能够在开发过程中隔离前后端,让前端随心所欲的掌控接口的请求和返回,而不需要后端开发人员介入。开发环境是影响研发效能最大的一个因素之一,不稳定的上游接口环境会让一个非常简单的需求轻松消耗掉数天的时间。当后端的接口还未开发完成,或者接口忽然因为后端某个开发中的功能突然不能工作时,Panda api可以快速提供接口。

Panda Api可以提供一个非常高效的前端开发环境和后端测试环境,什么是一个好的开发环境呢?

1、稳定

好的开发环境应该是稳定可用的,不应该在开发过程中受到其他开发人员影响,服务频繁挂掉或者频繁改变,前后端开发的团队成员就深有体会,两边相互影响,然后又导致相互等待,非常影响开发状态和效率。然而很多团队一直是在以这样低效的方式在推进。

2、快速验证

修改代码能够在尽可能短的时间内得到验证也是一个基本诉求,这也是为什么大部分前端构建都会关注 Hot reload 和更高级的HMR 。有些场景下一次简单前端的修改就要经过长时间等待等待后端开发完成,例如依赖上游修改接口的返回内容,需要修改后端的程序然后重新部署,需要走一遍完整的发布流程来测试某个修改调整,这种改一行等几十分钟的开发方式对效率的拖累是极其恐怖的。

3、一致性

很多项目,因为参与人员少,觉得不需要写什么文档,直接就讨论后开始开发。开发到后面就会发现,大家的共识是不一致的,进一步引发争论和项目的重新调整,如果中途换人或者半年以后再来维护这个项目,就很容易变成一个可怕的泥潭,所有人都不愿意去碰。原因就是一开始我们就没有形成文档。传统的接口文档确实很费时间,Panda api把文档即服务做好,写文档变成了一个更高效的开发方式。

开发者对于当前的需求应该是有确切认知的,而不是一直不停的怀疑自己的理解到底对不对,相关接口的字段是什么意思。

Panda Api是如何解决好这几个问题

Panda Api的三个核心服务:

  1. 提供前后端的开发的接口文档
  2. 提供前端开发的接口服务
  3. 可以进行后端接口测试

Panda Api 接口文档的工具提供以下功能:

  1. 提供一份可以前后端浏览的接口文档
  2. 使用json或json5语法来写文档,操作成本、学习成本非常低
  3. 接口文档也可以像代码一样进行版本控制,前后端都有维护的权限。Panda api依赖git等版本管理工具来做
  4. 可以在定义好文档后,立即为前端开发提供接口服务,不用等待后端开发完成。为前端支持各类请求:GET, POST, PUT, DELETE, OPTIONS
  5. 可以使用这个工具进行前端测试和后端测试
  6. 可以像Mock一样,自动生成相关测试数据

Todo 还在设计开发的功能

  1. 支持多种开发环境切换,例如开发环境、测试环境、正式环境
  2. 支持websocket方式为前端开发提供测试接口服务;支持用websocket方式作为客户端进行后端服务测试
  3. 其它等你使用后来告诉我

Panda Api 项目地址:

https://github.com/arlicle/panda-api

Panda Api安装包下载:

Panda Api 最新版本下载

Panda Api 如何使用

快速简单的写好第一个接口文档 使用说明(一)
快速开发的视频教程
接口文档的高级配置 使用说明(二)
相关字段说明
test_data使用说明
Auth接口权限配置说明
settings配置说明

接口文档的例子

  1. Basics
  2. Inherit from models
  3. Global field settings

PS. 以上开发环境部分的内容学习修改来自 阿里的 LightProxy 原文地址 https://github.com/alibaba/lightproxy/issues/19

2020-02-24 09:07

留言