koa-framework
Dead simple framework on top of koa
Koa framework is a basic bootstrap library for creating a Koa server. It provides a router constructor with basic middleware such as a request parser and validator.
Usage
Step 1 - Add the base koa server as a dependency
npm install koa-framework --save
Step 2 - Create an app
A koa instance is returned so see koa documentation for more details.
let koa = ; // koa server instancelet app = ;
Step 2 - Add some app logic
Request body is automatically parsed using koa-body-parser. Both json
and form
encodings are supported.
Create router instance
See koa-router documentation for detailed documentation.
let router = app; router; // mount routerapp;
Data validation
One of the key aspects of a web application is data validation. koa-framework
supports request data validation using jsonschema. If data does not pass validation, the server returns a 400 Bad Request
error. In non production environments, the response body is populated with the validation errors.
let schema = params: properties: object: type: 'string' required: true query: properties: something: type: 'string' required: false body: properties: password: type: 'string' required: true minLength: 10 };router;
The server returns the following response body on schema validation error. The validationErrors
property is the errors
property returned by jsonschema
on validation.
Namespaced routes and middleware
// private routeslet paymentsRouter = app; // middleware for /payments/*paymentsRouter; // POST /payments/transferpaymentsRouter; // public routeslet sharedRouter = app; // GET /shared/lolcatsharedRouter; app; // alternativelyapp;app;
Step 3 - Kick off the server
app;
Bundled middleware
koa-framework
comes bundled with koa-body-parser, koa-error and koa-x-request-id
Configuration
Middlewares are completely configurable with options being passed to the downstream middleware as is. Optionally, individual middlewares can also be turned off completely. An example is shown below:
var app = ;