koa 写简单服务
這兩天用koa寫了點(diǎn)服務(wù),這里面和express還是有部分區(qū)別的
1.靜態(tài)服務(wù):? koa 中,是有中間件, koa-static,? ? ? ?
?
const static_f = require('koa-static') const app = new Koa();app.use(static_f('webroot')) //和express一樣寫入文件路徑就行
2 koa實(shí)例,不能像express直接get方法寫路由,如
//express:app.get('/', function(req,res,next){})//koaapp(function(ctx, next){})//koa 里面應(yīng)該是只能放入函數(shù)
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} }) //這里面應(yīng)該是不能用異步回調(diào)(嘗試過但并沒有返回?cái)?shù)據(jù)),如果有異步,就要用async await 來解決
4,請求參數(shù)獲取,以及接口返回
get請求獲取,參數(shù)ctx.query 相當(dāng)于express 的req.body接口返回ctx.body 直接賦值即可
? 5.post請求,獲取參數(shù)
const bodyParser = require('koa-bodyparser')// 使用ctx.body解析中間件 app.use(bodyParser())router.post('/codeList', async function (ctx, next) {let postData = ctx.request.bodyconsole.log(postData) })?
轉(zhuǎn)載于:https://www.cnblogs.com/ylHeyden/p/10754876.html
總結(jié)
- 上一篇: windows 下 配置 githu
- 下一篇: c/c++ 阻塞和非阻塞,fcntl应用