在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:NeoyeElf/koa2-rest-scaffold开源软件地址:https://github.com/NeoyeElf/koa2-rest-scaffold开源编程语言:JavaScript 97.0%开源软件介绍:koa2 Restful API 脚手架本项目旨在提供一个纯Restful API server脚手架。 本项目引入了一些koa2&node的常用库,集成了redis和mongo,包含路由、参数校验、单元测试、业务逻辑异常处理等特性 项目的由来:本人之前用Java写后台,习惯了throw Exception。使用node koa框架,也找了些网上的koa2脚手架,发现并没有 一个项目能提供优雅的异常处理,故产生了此项目⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ 项目运行
生产环境运行
首先编译:
首先编译:
运行 其中, tips: 开发使用说明配置项引入 config 库作配置项管理,配置项文件统一放在 config 文件夹下面 default.json为默认配置项,本地开发时,直接调整其中参数即可
生成文档运行命令: npm i apidoc -g
npm run docs 用浏览器打开./apidoc/index.html 定义返回格式在 utils/response.js 中定义了数据的返回格式,默认如下: {
"code": 0,
"msg": "ok",
"data": {}
} 优雅地处理错误在 utils/customError.js 中定义了 CustomError 和 HttpError,在 utils/errorCode.js 中定义了 code 和 msg 的对应关系
可查看 helloController.js 中的示例 主要插件介绍
由于 Node 项目中经常会用到 redis 和 mongo,所以在本项目中引入了 ioredis 和 mongoose 如果不需要 ioredis,那么则运行 如果不需要 mongoose,那么则运行
import {
redis
} from '../lib/redis'
const getRedisData = async () => {
return await redis.set('a', 1)
}
import mongoose from 'mongoose'
const User = mongoose.model('User')
const saveMongoData = async () => {
const user = new User({
name: 'Tom',
age: 27
})
return await user.save()
} tips: 如果 mongo schema 需要实现继承关系,则可以使用 mongoose-schema-extend 用于请求的参数校验 一个一致性、模块化、高性能的 JavaScript 实用工具库 一个优秀的 JavaScript 日期处理类库 接下来要做的
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论