Create a Controller
Following the MVC design pattern, Winter was built to assist developers in organizing their projects. As a result, there is no need to create routes instead, a controller class will handle this logic.
Create your first controller
Create a file at src/GreetingsController.ts:
src/GreetingsController.ts
@RestController('/greetings')
class GreetingsController {
@GetMapping()
hello(w: Context) {
return w.text('Hello, is so Cold!!❄️❄️')
}
}
Register a new controller at src/main.ts:
Winter.create()
.setName('WinterFramework') // Project Name
.setEnv('dev') // dev = 1337 | prod = 8080
// .setPort(3000) // Custom Port,
.addController(GreetingsController) // ADD GreetingsController here
.addMiddleware((app) => {
// Middlewares
app.use('*', async (ctx, next) => {
console.log(`${ctx.req.method} ${ctx.req.url}`)
await next()
})
})
.start()
A new route is now available at - /greetings → localhost:1337/greetings.