koa-router 路径参数,遇到这种情况怎么办?
我如何在访问/manhour
时不用写路径参数?
另外我想问问,不直接操作数据库,只是接口转发,koa2
可以有model
的概念吗?
现在我是通过链式router.get('/manhour', controllers.manhour.get,
把数据塞进页面,可是页面、不可能总是只有一个接口,写多了也很混乱,所以想问问有没有model
概念
routes/api.js
router.get('/api/manhour/:userid/:year/:weeks', controllers.manhour.get)
routes/manhour.js
router.get('/manhour', controllers.manhour.get, async (ctx, next) => {
await ctx.render('manhour', {
data: ctx.state.data,
})
})
controllers/manhour.js
async function get(ctx, next) {
const { userid, year, weeks } = ctx.params
const params = {
userid,
year,
weeks,
}
await axios.get(getWorkingTimeList, { params })
.then(res => {
if (res.status === 200) {
ctx.state.code = 0
ctx.state.data = res.data
} else {
ctx.state.code = -1
ctx.state.data = {}
}
})
await next()
}
module.exports = {
get,
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不用写路径参数啥意思?
model用来操作数据库的,如果不操作数据库,没有model。如果你想做接口转发,一般情况下nginx可以帮你。如果需要自己弄,可以写在controller里面。
你用了中间件
controllers.manhour.get
,然后在里面定义了接收参数,然后你现在不想传参数,那里面怎么执行呢。koa
并没有model
的概念,也没有controller
的概念,但是既然你的js代码里面已经有了controller
的,那么model
的概念不也是一样的么。没太明白不写路径参数是啥意思,可以再详细描述一下吗