var express = require('express')
var magicRoute = require('express-magic-route')
var v1RouteConfig = require('./router/seedConfig')
var app = express()
app.use('/v1', magicRoute(v1RouteConfig))
url
string 单个url路径
[string] 多个url路径使用相同的处理方式
method
string 方法,默认get
middleware
function(req, res, next) 单个中间件处理该url/[url]
[function(req, res, next)] 多个中间件按照顺序处理url/[url]
schema 验证表单的schema
function(req, joi) joi数据验证,验证错误时返回http 400错误
验证失败时返回{error_no, error_desc}
where 验证表单的schema req的属性
string [query, body] 默认query
disable 是否停用路由
boolean 默认为false
errorCode
number 验证数据错误码,默认-10001
user = require('../middleware/user')
module.exports = [
{
url: '/api/user/login'
middleware: user.login
schema: (req, Joi)->
Joi.object({
username: Joi.string().required()
password: Joi.string().required()
})
}, {
url: '/api/user/logout'
middleware: [user.isValid, user.logout]
}, {
url: ['/api/user/profile', '/api/user/info']
middleware: [user.isValid, user.get]
}
]
var magicRoute = require('express-magic-route')
默认返回格式
{
error_no: -100001
error_desc: ''
}
magicRoute.ErrorFormater = function (code, error) {
return code + error.desc
}
错误信息格式化
code: 默认错误代码
error: Joi错误对象