const Koa = require('koa');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();
/*
自己寫中間件
*/
const auth = async (ctx, next) => {
if (ctx.url !== '/users') {
ctx.throw(401);
}
await next();
}
router.get('/', auth, (ctx) => {
ctx.body = '這是主頁';
});
// router.get('/users', (ctx) => {
// ctx.body = '這是用戶列表頁';
// });
// router.get('/users/:id', (ctx) => {
// ctx.body = `獲取用戶${ctx.params.id}詳情`;
// });
// router.post('/users', (ctx) => {
// ctx.body = '增加用戶';
// });
/*
可配置前綴,免得全是/users/...
*/
const usersRouter = new Router({ prefix: '/users' });
usersRouter.get('/', auth, (ctx) => {
ctx.body = '這是用戶列表頁';
});
usersRouter.get('/:id', auth, (ctx) => {
ctx.body = `獲取用戶${ctx.params.id}詳情`;
});
usersRouter.post('/', auth, (ctx) => {
ctx.body = '增加用戶';
});
app.use(router.routes());
app.use(usersRouter.routes());
app.listen(3000);
console.log('服務開啟成功,請在打開瀏覽器運行:', 'http://localhost:3000');