前置条件
- koa-router
路由解析 - koa-body
传输数据的body格式进行转义,例如json格式、文件上传 - @koa/cors
解决跨域问题
安装koa-router、koa-body、@koa/cors
npm install -S koa-router koa-body @koa/cors
使用koa-router、koa-body、@koa/cors 中间件
const Koa=require('koa')
const Router=require('@koa/router')
const koaBody=require('koa-body')
const koaCors=require('@koa/cors')
const app= new Koa()
const router = new Router()
router.post('/post',async(ctx)=>{
let {body}=ctx.request
console.log(body)
console.log(ctx.request)
ctx.body={...body}
})
app.use(koaBody())
app.use(koaCors())
app.use(router.routes())
.use(router.allowedMethods())
app.listen(3000)
前缀 router.prefix
如果想以localhost:3000/api/post 方式访问的话,可以添加一下代码
router.prefix('/api')
获取url后面的参数localhost:3000/api/post?name=zhangsan
const params=ctx.request.query
cosole.log(params.name)
koa-json
- url后面的参数http://localhost:3000/api/getapi?name=zhangsan&age=12
输出结果
- 可以使用koa-json中间件,进行格式化
安装koa-json
npm install -S koa-json
导入koa-json,使用
const json=require('koa-json')
...
app.use(json({pretty:false,param:'pretty'}))
浏览器输入http://localhost:3000/api/getapi?name=zhangsan&age=12&pretty