如何让koa2路由同时支持get和post方法?

前后端分离的项目,用nodeJs提供api,现在碰到一个问题,在crud中,我想在read时,用get方法请求,其他都用post方法.
那么在koa2里,如何让一个路由同时支持get和post方法呢?谢谢
我现在是把get和post都写一遍.但觉得不够优雅...

router.post('/crudUserInfo',FnUser);
router.get('/crudUserInfo',FnUser);
//写2遍不够优雅
阅读 4.9k
3 个回答

从逻辑上而言就应该分开写,而且你这种共用 FnUser 这个函数的写法是有问题的,毕竟 post 和 get 方法本身就应该面向不同的需求。

如果你还是想实现这个需求,封装成一个方法就好了

function all(path, fn) {
   router.get(path, fn)
   router.post(path, fn)
}
router.register('path', methods=['get', 'post'],(ctx, next)=>{ctx.body='page'}, opts={})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题