tsoa-custom-decorators
Version:
Build swagger-compliant REST APIs using TypeScript and Node
37 lines (29 loc) • 1.01 kB
text/typescript
import * as Koa from 'koa';
import * as KoaRouter from 'koa-router';
import '../controllers/putController';
import '../controllers/postController';
import '../controllers/patchController';
import '../controllers/getController';
import '../controllers/deleteController';
import '../controllers/methodController';
import '../controllers/parameterController';
import '../controllers/securityController';
import { RegisterRoutes } from './routes';
import * as bodyParser from 'koa-bodyparser';
const app = new Koa();
app.use(bodyParser());
const router = new KoaRouter();
RegisterRoutes(router);
// It's important that this come after the main routes are registered
app.use(async (context, next) => {
try {
await next();
} catch (err) {
context.status = err.status || 500;
context.body = err.message || 'An error occurred during the request.';
}
});
app
.use(router.routes())
.use(router.allowedMethods());
export const server = app.listen(3002);