0.0.7 • Published 7 years ago
seven-express v0.0.7
seven-express
This is a plug-in in node.js mapping API and Mongoose.Schema automatically.
Version: 0.0.4
Installation
$ npm install --save seven-express
API
- creator( schemaFile, rule, scb, fcb )
- API的构造器
- schemaFile: schema文件夹的路径
- rule: 规则文件,如果为空,默认启用所有APi
- scb: 成功回调
- fcb: 失败回调
- errorHandler( )
- 异常处理中间件
- 也可以使用自己的异常处理中间件,但是必须有异常处理中间件
Usage
- 在项目目录下新建
schema
文件夹,在文件夹下新建各种schema文件。 在
app.js
中进行配置let express = require('express'); let seven = require('seven-express'); let promise = require('promise'); let app = express(); // 配置文件 let rule = { user : { Create: { key: 'username', bodyList: ['username', 'type'] }, Update: { bodyList: ['username'] }, Delete: false } }; // 进行调用 new Promise((resolve, reject) => { seven.creator(path.join(__dirname, 'schema'), rule, (routers) => { resolve(routers); }, (err) => { reject(err); }) }).then((routers) => { app.use(routers); app.use(seven.errorHandler()); });
运行
app.js
会显示现在生成的API,可以直接调用users Pagination get /user/page/:page Create post /user Delete delete /user/:id Update put /user/:id Retrieve get /user/:id
Rule
- 一级 key 必须对应 schema 名.
- 默认是启用所有API,可以设置为false来关闭API.
- Create: 提供 key 与 bodyList 属性
- key: 表中的主键(值有唯一性)
- bodyList: body的表单检测属性,默认为
null
- Update: 提供 bodyList 与 paramsList 属性
- bodyList: body的表单检测属性,默认为
null
- paramsList: params的检测属性,默认为
['id']
- bodyList: body的表单检测属性,默认为
- Delete: 提供 paramsList 属性
- paramsList: params的检测属性,默认为
['id']
- paramsList: params的检测属性,默认为
- Pagination: 提供 paramsList 属性
- paramsList: params的检测属性,默认为
['page']
- paramsList: params的检测属性,默认为
- Retrieve: 提供 paramsList 属性
- paramsList: params的检测属性,默认为
['id']
- paramsList: params的检测属性,默认为