rest-express
A rest api framework based on express.
How to use?
$ npm install rest-express --save
let restExpress = ;restExpress ;
About Options
let options = port: 3000 //必须提供,服务端口 enableResponseTime: true //是否启用响应时间记录(会在header中,设置X-Response-Time的值,单位毫秒) responseTimeOptions: //responseTime的参数配置,请参考:https://github.com/expressjs/response-time digits: 4 //default 3 header: 'use-time' suffix: false enableLog: true //是否启用日志 logFormat: 'combined' //设置日志格式 logOptions: //日志插件相关参数,请参考:https://github.com/expressjs/morgan enableCors: true //是否启用Cors支持 corsOptions: //Cors参数,请参考:https://github.com/expressjs/cors urlParserOptions: {} //转换url参数配置,请参考:https://github.com/expressjs/body-parser jsonParserOptions: {} //转换json参数配置,请参考:https://github.com/expressjs/body-parser enableGzip: true //是否启用Gzip支持 gzipOptions: {} //gzip配置,请参考:https://github.com/expressjs/compression enableHttps: false //是否启用Https httpsOptions: //Https配置项,提供{key: '', cert: ''} key: '' cert: '' { //加载路由之前要执行的操作,参数app = express(); console; } { //加载路由之后要执行的操作,参数app = express(); console; } routesPath: path //路由目录,所有要加载的路由都放置在此处。 apiPrefix: '/' //全局Api前缀, 如: /api/v1;
注意:其中 port
和 routesPath
为必填参数。
How to write route?
'use strict'; let router = ;let testBiz = ; router; //每个路由文件需要如下方式导出:moduleexports = priority: 0 // 可选参数,默认0,优先级,越大越先加载 router: router // 必须参数,router对象。 prefix: '/test/abc' // 可选参数,默认/,router前缀,会拼接在options.apiPrefix之后。;
How to validate object?
rest-experss
集成了 Joi
验证库,通过提供了一个全局的 Validator
对象,如果我们要验证,只需要如下调用:
Validator ;
其中 options
的默认值为: { allowUnknown: true, abortEarly: false }
,可自行指定参数,参考:Joi Api Docs
How to use MSSQL?
let MSSQL = MSSQL; let config = user: 'xxx' // UserName password: 'xxxx' // Password server: '127.0.0.1' // Server Name(IP) port: 1433 // Data Server Port database: 'XXX' // Data base name pool: //线程池 max: 50 // 最大线程数 min: 0 // 最小线程数 idleTimeoutMillis: 30 * 1000 // 超时时间 ;let db = config; db ;db ;db ;db //存储过程名称、输入参数、输出参数 ;