Rese App
Node.js application framework with RESTful api
Usage
npm i -S rese-app
const app = configs // middlewares app start
configs.js
Sample server: port: processenvNODE_ENV === 'development' ? 3000 : 9000 db: type: 'mongodb' // or 'mysql' host: '127.0.0.1' port: '27017' database: 'your-database-name' username: 'your-username' password: 'your-password' // mongodb // ref: http://mongoosejs.com/docs/guide.html schema: City: name: type: String required: true 'name required' totalPopulation: type: Number required: true 'totalPopulation required' country: String zipCode: Number Person: ... ... // OR mysql // ref: http://docs.sequelizejs.com/en/v3/docs/models-definition/ schema: City: name: type: 'STRING' allowNull: false defaultValue: '' totalPopulation: type: 'BIGINT' allowNull: false country: type: 'STRING' ... router: prefix: 'api' logs: // config for log4js config: appenders: type: 'console' type: 'dateFile' filename: 'log' pattern: '_yyyy-MM-dd.log' alwaysIncludePattern: true // TRACE, DEBUG, INFO, WARN, ERROR, FATAL level: processenvNODE_ENV === 'production' ? 'WARN' : 'TRACE'
new ReseApp(configs, [middlewares]
configs
:{Object}
requiredmiddlewares
:{Array}
optional, middleware functions
app.logger
Instance of node-log4js
app.logger.trace()
app.logger.debug()
app.logger.info()
app.logger.warn()
app.logger.error()
app.logger.fatal()
app.router
Instance of koa-router
app.models
Models defined in config.js
schema
, each one is a instance of mongoose model (MongoDB) or sequelize model (MySQL)
See more:
app.services
All registered services
app.addService(name, options)
name
:{String}
required, service nameoptions
:{Object}
required, service optionspath
:{String}
requiredmethod
:{String}
optional,default: getprefix
:{String}
optional,default: router.prefixcontroller
:{Object}
requiredfn
:{Function}
required
app.hookService(name, options)
name
:{String|Array}
optional, one/some/all serviceoptions
:{Object}
requiredpre
:{Function}
optionalpost
:{Function}
optional
Test
- GET:
curl http://localhost:3000/api/city
- POST:
curl -i -H "Accept: application/json" -X POST -d "name=ny&totalPopulation=2000" http://localhost:3000/api/city
- PUT:
curl -i -H "Accept: application/json" -X PUT -d "totalPopulation=2200" http://localhost:3000/api/city/11
- DELETE:
curl -i -H "Accept: application/json" -X DELETE http://localhost:3000/api/city/11
Examples
https://github.com/neikvon/rese-app/tree/master/example
Links
- Rese-api: https://github.com/neikvon/rese-api
Changelog
2017-05-24 14:00
- Upgrade rese-api to v0.0.6.
2017-03-29 15:13
- Upgrade rese-api to v0.0.2.