嘿,开发到社区!今天,我很高兴向您介绍Deno Rest,这是一个直接的样板项目,用于使用Deno,Oak和Deno_mongo构建Restful API。 Deno是JavaScript和Typescript的安全运行时,Oak是Deno的HTTP服务器的中间件框架,Deno_mongo是Deno的MongoDB驱动程序。
特征
deno休息包含几个有用的功能,可帮助您开始API开发:
- 由模型,控制器,服务结构组织
- 与deno_mo的MOLINGB整合 li>
- 基于JWT的身份验证
- 具有基于角色的访问控制的用户授权
- CORS支持处理交叉原始请求
- 通过.env文件的环境管理
- 请求验证以确保有效数据
- 优雅错误处理
- 初始数据的数据库播种
- 用户角色和权限管理
- 用bcrypt散列密码
- 自动服务器重新启动的Denon集成
- 容易测试的集成测试
- 用于容器化和连续集成的Docker和CircleCi集成
库利用
deno休息利用以下库:
- Oak- Deno Net Server的中间件框架
- deno_mongo -deno的mongodb驱动程序
- Abioqian4- deno的CORS中间件
- djwt-基于JWT和JWS规格的Deno的JSON Web令牌
- yup-架构构建器进行价值解析和验证
- bcrypt- OpenBSD Blowfish密码哈希算法
入门
要开始Deno休息,请按照以下步骤:
- 安装deno :Instructions and official installation guide
-
设置环境变量:查看
.environments/.env.example
文件并根据您的需求创建合适的.env
文件。 - 安装Denon :关注Denon installation guide
-
数据库播种:使用提供的播种脚本用初始数据填充数据库:
denon run --allow-read --allow-write --allow-net --unstable seed.ts
-
运行项目:使用以下命令开始项目:
denon start
用户角色和权限
通过修改config/roles.ts
文件来自定义用户角色和权限。
API路线
deno休息包括以下API路由:
- 获取 /用户< /li>
- get/users/:id
- 发布 /用户< /li>
- put/users/:id
- 删除/用户/:ID
贡献和许可证:
欢迎对DeNo休息的贡献!您可以打开问题或提交拉请请求。该项目是根据麻省理工学院许可证的许可。
结论:
借助Deno休息,您可以使用Deno,Oak和Deno_mongo启动您的Restful API开发。它提供了干净的体系结构,基本功能以及与流行的库的集成,使您可以专注于构建API逻辑。
让DeNo休息一下,让我们知道您的反馈!您可以在GitHub上找到完整的项目和文档。
谢谢您的阅读,并与Deno休息一起编码!