Я хочу отправить запрос на получение (использовать axios) маршрутизатору koa, но из вида отладки vscode
router ctx.status
всегда показывает 404
, а ctx.message show "Not Found"
Но мой запрос завершился идеально.
Я хочу запросить базу данных mongodb type
, поэтому я регистрирую два маршрутизатора tag
, post
, если type===post
,мы вызываем next()
и позволяем tag router
обработать его
Вот мои коды
export default function (this: server) {
queryPost(this.router, this)
queryTag(this.router, this)
}
/**
* type=post&path=postpath
* @param router
*/
async function queryPost(router: Router, server: server) {
router.get('/api/blog', async (ctx, next) => {
let query = ctx.query
let type = query.type
if (type !== 'post') {
return next()
}
let path = query.path
let config = server.config
ctx.body = await server.mgController.query(config.postsCollectionName, {
path: path
})
})
}
/**
* type=tag&name=tagsname
* @param router
*/
async function queryTag(router: Router, server: server) {
let config = server.config
router.get('/api/blog', async (ctx, next) => {
let query = ctx.query
let type = query.type
if (type !== 'tag') {
return next()
}
let name = query.name
ctx.body = await server.mgController.query(config.postsCollectionName, {
'matter.tags':[name]
}, {
sort: {
originDate: 1
},
projection: {
title: 1,
path: 1,
excerpt: 1,
'matter.tags':1,
originDate: 1,
updatedDate: 1
} as TagQueryExcerpt
} as FindOneOptions)
})
}