1-5 Koa开发RESTful接口

前置条件

  • 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

posted @ 2022-05-07 11:13  mengxiangzhi  阅读(141)  评论(0编辑  收藏  举报