0.6.5 • Published 9 years ago
koa-spec v0.6.5
koa-spec
Installation
$ npm install --save koa-spec ⏎
Examples
Various examples can be found in the /examples directory and executed like this:
$ node examples/simple/app.js ⏎
Basic Example
This is the most simple example showing basic routing (i.e. no parameter or response validation).
(data/)api.yaml
swagger: '2.0'
info:
version: 0.0.1
title: Simple.
paths:
/:
get:
x-controller: IndexController
x-controller-method: get
responses:
200:
description: OK
(controllers/)IndexController.js
'use strict';
module.exports.get = function* () {
this.body = { index : 'Hello koa-spec!' };
};
app.js
'use strict';
const koa = require('koa');
const koaspec = require('koa-spec');
const app = koa();
const spec = koaspec('data/api.yaml');
const router = spec.router();
app.use(router.routes());
app.listen(8000);
Result
$ curl localhost:8000 ⏎
{
"index" : "Hello koa-spec!"
}
Features/Roadmap
- YAML Parsing
$ref
Resolving- local
- relative
- remote
- circular
- Routing
- Validation
- Required
- Default values
- Body parameter
- Query string
- Headers
- x-nullable
- Parameter
- Sources
- Header
- Path
- Query
- Body
- FormData
- Sources
- Response
- Header
- Body
- Types
- Integer
- int32 (int)
- int64 (long)
- Number
- float
- double
- String
- string
- byte
- binary
- UUID (V1/V4)
- ISBN (10/13)
- date (ISO8601)
- date-time (ISO8601)
- Boolean
- boolean
- Integer
- Produces
- Consumes
- Error-Handling (throw early, throw often)
- Spread out
strictMode
usage
0.6.5
9 years ago
0.6.4
9 years ago
0.6.3
9 years ago
0.6.2
9 years ago
0.6.1
9 years ago
0.6.0
9 years ago
0.5.0
9 years ago
0.4.0
9 years ago
0.3.1
9 years ago
0.3.0
9 years ago
0.2.1
9 years ago
0.2.0
9 years ago
0.1.4
9 years ago
0.1.3
9 years ago
0.1.2
9 years ago
0.1.1
9 years ago
0.1.0
9 years ago
0.0.4
9 years ago
0.0.2
9 years ago
0.0.1
9 years ago