在项目开发中,前后端分离,后端采用 express 提供 api 接口。有一个非常常见的需求是接口参数验证,比如
原始做法是在业务函数中判断,但是这样太麻烦了
我们需要这样的一种框架,他需要满足下面几点
这个框架需要做到不需要在业务逻辑里判断,只需要提供一个配置 json 就可以自动进行验证。例如上面的例子中,只需要提供
例如,我们需要判断这个 limit 是一个整数,并且范围是 10-50,skip 也是一个整数,范围是 0-100
再例如,我们需要要求 token、skip、limit 这三个参数都必须放在 query 里面
再例如,在一个 Post 接口里面,我们需要要求参数在 body 里面,并且还是自动解析的
基于上面的需求,提高开发效率,开发了适用于 express 的 joi-router。再说他的特性之前,先看他是怎么用的
上面这里例子里,验证的是 query 参数必须有一个 userId,并且 userId 必须是字母和数字的组合,长度在 3 个字节到 30 个字节之间。
再看个复杂点的例子
是不是用起来很简单,尤其是参数特别多的时候,并且组合在一起的时候。
这个项目有如下几个特点
未来还会提供一种功能,就是根据你的代码,生成接口文档。
欢迎大家 Follow 和 Star,更欢迎你参与进来提出意见,提出 PR
https://github.com/sunkuo/joi-router
你可以在 github 上看到安装使用说明
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.