Koa.js Simple Counter API - Koa-js Typing CST Test
Loading…
Koa.js Simple Counter API — Koa-js Code
Demonstrates a simple Koa.js REST API with a counter using async functions and middleware.
const Koa = require('koa');
const Router = require('@koa/router');
const bodyParser = require('koa-bodyparser');
const app = new Koa();
const router = new Router();
let count = 0;
router.get('/counter', ctx => {
ctx.body = { count };
});
router.post('/counter/increment', ctx => {
count++;
ctx.body = { count };
});
router.post('/counter/decrement', ctx => {
count--;
ctx.body = { count };
});
router.post('/counter/reset', ctx => {
count = 0;
ctx.body = { count };
});
app.use(bodyParser());
app.use(router.routes()).use(router.allowedMethods());
app.listen(3000, () => {
console.log('Koa.js server running on http://localhost:3000');
});Koa-js Language Guide
Koa.js is a modern, minimalist web framework for Node.js, created by the same team behind Express.js. It leverages async/await for clean middleware handling and provides a lightweight foundation for building APIs and web applications.
Primary Use Cases
- ▸Building RESTful APIs with async/await middleware
- ▸Small to medium web application backends
- ▸Microservices requiring modular architecture
- ▸Integration with custom routing and authentication solutions
- ▸Prototyping fast and lightweight Node.js servers
Notable Features
- ▸Minimal and lightweight core
- ▸Async/await middleware chaining
- ▸Full control over request and response objects
- ▸Modular design, easily extended with npm packages
- ▸High performance due to small overhead
Origin & Creator
Koa.js was created by the Express.js team-TJ Holowaychuk and contributors-in 2013-2014 as a next-generation, lightweight framework for Node.js.
Industrial Note
Koa is preferred when developers want minimalism, async/await-based middleware, and full control over application structure without opinionated conventions.