Skip to content

Instantly share code, notes, and snippets.

@seanpmaxwell
Last active May 29, 2019 14:59
Show Gist options
  • Save seanpmaxwell/f176dde1d02681e13e438bf2c48d8f02 to your computer and use it in GitHub Desktop.
Save seanpmaxwell/f176dde1d02681e13e438bf2c48d8f02 to your computer and use it in GitHub Desktop.
ExpressTypeScript/ExampleController.ts
import { Request, Response } from 'express';
import { Controller, Middleware, Get, Put, Post, Delete } from '@overnightjs/core';
import { Logger } from '@overnightjs/logger';
@Controller('api')
export class ExampleController {
@Get(':msg')
private getMessage(req: Request, res: Response) {
Logger.Info(req.params.msg);
res.status(200).json({
message: req.params.msg,
});
}
@Put(':msg')
private putMessage(req: Request, res: Response) {
Logger.Info(req.params.msg);
return res.status(400).json({
error: req.params.msg,
});
}
@Post(':msg')
private postMessage(req: Request, res: Response) {
Logger.Info(req.params.msg);
return res.status(400).json({
error: req.params.msg,
});
}
@Delete(':msg')
private delMessage(req: Request, res: Response) {
try {
throw new Error(req.params.msg);
} catch (err) {
Logger.Err(err, true);
return res.status(400).json({
error: req.params.msg,
});
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment