Koa.js - Perutean
Kerangka kerja web menyediakan sumber daya seperti halaman HTML, skrip, gambar, dll. Pada rute yang berbeda. Koa tidak mendukung rute dalam modul inti. Kita perlu menggunakan modul Koa-router untuk membuat rute dengan mudah di Koa. Instal modul ini menggunakan perintah berikut.
npm install --save koa-router
Sekarang kita telah menginstal Koa-router, mari kita lihat contoh rute GET sederhana.
var koa = require('koa');
var router = require('koa-router');
var app = koa();
var _ = router(); //Instantiate the router
_.get('/hello', getMessage); // Define routes
function *getMessage() {
this.body = "Hello world!";
};
app.use(_.routes()); //Use the routes defined using the router
app.listen(3000);
Jika kita menjalankan aplikasi kita dan pergi ke localhost: 3000 / hello, server menerima permintaan get di route "/ hello". Aplikasi Koa kami menjalankan fungsi panggilan balik yang dilampirkan ke rute ini dan mengirimkan "Hello World!" sebagai tanggapannya.

Kami juga dapat memiliki beberapa metode berbeda pada rute yang sama. Sebagai contoh,
var koa = require('koa');
var router = require('koa-router');
var app = koa();
var _ = router(); //Instantiate the router
_.get('/hello', getMessage);
_.post('/hello', postMessage);
function *getMessage() {
this.body = "Hello world!";
};
function *postMessage() {
this.body = "You just called the post method at '/hello'!\n";
};
app.use(_.routes()); //Use the routes defined using the router
app.listen(3000);
Untuk menguji permintaan ini, buka terminal Anda dan gunakan cURL untuk menjalankan permintaan berikut
curl -X POST "https://localhost:3000/hello"

Metode khusus, all, disediakan oleh express untuk menangani semua jenis metode http pada rute tertentu menggunakan fungsi yang sama. Untuk menggunakan metode ini, coba yang berikut -
_.all('/test', allMessage);
function *allMessage(){
this.body = "All HTTP calls regardless of the verb will get this response";
};