3) 优化
我们可以将一个模块放到一个单独的文件中. 分离出一个路由层
创建src//user.route.js
// 导入koa-router, 实例化路由对象const Router = require('koa-router')const router = new Router()router.get('/users', (ctx) => {ctx.body = '这是用户页'})router.post('/users', (ctx) => {ctx.body = '创建用户页'})module.exports = router
再导入
// 一. 导入koaconst Koa = require('koa')// 二. 实例化对象const app = new Koa()const userRouter = require('./router/user.route')// 四. 注册路由中间件app.use(userRouter.routes()).use(userRouter.allowedMethods())// 五. 启动服务app.listen(3000, () => {console.log('server is running on http://localhost:3000')})
可以给路由设置一个统一的前缀, 使代码更加简洁
// 导入koa-router, 实例化路由对象const Router = require('koa-router')const router = new Router({ prefix: '/users' })router.get('/', (ctx) => {ctx.body = '这是用户页'})router.post('/', (ctx) => {ctx.body = '创建用户页'})module.exports = router
五、请求参数
在很多场景中, 后端都需要解析请求的参数, 做为数据库操作的条件
场景一
前端希望通过请求, 获取id=1的用户信息
接口设计
GET /users/:id
场景二
前端希望查询年龄在18到20的用户信息
场景三
前端注册, 填写了用户名, 年龄, 传递给后端, 后端需要解析这些数据, 保存到数据库
- 一级 2020年06月 Python真题解析#中国电子学会#全国青少年软件编程
- 小白看完都学会了!五年Android开发者小米、阿里面经,大厂面经合集
- k8s里面Service中ClusterIP和NodePort的使用
- win10 remix - ide 安装
- node搭建web服务器运行html页面,node.js开发web服务器
- node命令交互inquirer
- 销售要学会“甜言蜜语”
- nodejs 4.4. Express写接口---使用CORS解决跨域问题
- Node.js-----使用express写接口
- Nodejs基于Express4的动态页面静态化