koa 写简单服务

时间:2021-12-16 15:27:43

这两天用koa写了点服务,这里面和express还是有部分区别的

  1.静态服务:  koa 中,是有中间件, koa-static,

  

const static_f = require('koa-static')
const app = new Koa(); app.use(static_f('webroot')) //和express一样写入文件路径就行

  

  2 koa实例,不能像express直接get方法写路由,如

  

//express:
app.get('/', function(req,res,next){}) //koa
app(function(ctx, next){})
//koa 里面应该是只能放入函数

  

  3 koa, 路由

  

router.get('/codeList', async function(ctx, next) {

   let data =  await sm_model.find()     //sm_model是mongoose.model

    ctx.body = {
msg: '查询成功',
code: '0000',
data: data
}
}) //这里面应该是不能用异步回调(尝试过但并没有返回数据),如果有异步,就要用async await 来解决

  
  4,请求参数获取,以及接口返回

  

get请求获取,参数
ctx.query 相当于express 的req.body 接口返回
ctx.body 直接赋值即可

  5.post请求,获取参数

const bodyParser = require('koa-bodyparser')

// 使用ctx.body解析中间件
app.use(bodyParser()) router.post('/codeList', async function (ctx, next) {
let postData = ctx.request.body
console.log(postData)
})