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');
Koa入门第二课:使用Koa-router实现路由,前缀的整合、以及中间件的写法。
猜你喜欢
转载自www.cnblogs.com/lihao97/p/12014018.html
今日推荐
周排行