koa发送postgresql查询数据时发送"Not Found"
Koa sends "Not Found" when sending postgresql query data
我正在使用 koa 构建微服务 api。此 API 仅用于用户数据。我正在从 postgresql 数据库中提取数据,没有问题。但是当我尝试公开数据时,我得到了 "Not Found".
这是端点片段,我找不到任何问题,我可能是瞎了...
router.get('/api/v1/users', (ctx) => {
pool.connect((err, client, done) => {
if (err) {
ctx.response.body = { status: 500, message: 'Something went wrong' }
console.log('Pool Connection Error: ', err)
throw err
}
client.query('select * from users', (err, result) => {
done()
if (err) {
ctx.response.body = { status: 500, message: 'Something went wrong' }
console.log('Query Error: ', err)
throw err
}
ctx.response.body = { status: 200, data: result.rows }
console.log('Query Result:', result.rows)
})
})
})
我做了一个 oopsie.. 我应该使用这样的承诺...
router.get('/api/v1/users', async ctx => {
async function getData() {
return new Promise((resolve, reject) => {
pool.connect((err, client, done) => {
if (err) {
reject({ status: 500, message: 'Something went wrong' })
console.log('Pool Connection Error: ', err)
throw err
}
client.query('select * from users', (err, result) => {
done()
if (err) {
reject({ status: 500, message: 'Something went wrong' })
console.log('Query Error: ', err)
throw err
}
resolve({ status: 200, data: result.rows })
console.log('Query Result:', result.rows)
})
})
})
}
ctx.response.body = await getData()
})
嗯,至少我希望这可以帮助像我这样的其他新手
我正在使用 koa 构建微服务 api。此 API 仅用于用户数据。我正在从 postgresql 数据库中提取数据,没有问题。但是当我尝试公开数据时,我得到了 "Not Found".
这是端点片段,我找不到任何问题,我可能是瞎了...
router.get('/api/v1/users', (ctx) => {
pool.connect((err, client, done) => {
if (err) {
ctx.response.body = { status: 500, message: 'Something went wrong' }
console.log('Pool Connection Error: ', err)
throw err
}
client.query('select * from users', (err, result) => {
done()
if (err) {
ctx.response.body = { status: 500, message: 'Something went wrong' }
console.log('Query Error: ', err)
throw err
}
ctx.response.body = { status: 200, data: result.rows }
console.log('Query Result:', result.rows)
})
})
})
我做了一个 oopsie.. 我应该使用这样的承诺...
router.get('/api/v1/users', async ctx => {
async function getData() {
return new Promise((resolve, reject) => {
pool.connect((err, client, done) => {
if (err) {
reject({ status: 500, message: 'Something went wrong' })
console.log('Pool Connection Error: ', err)
throw err
}
client.query('select * from users', (err, result) => {
done()
if (err) {
reject({ status: 500, message: 'Something went wrong' })
console.log('Query Error: ', err)
throw err
}
resolve({ status: 200, data: result.rows })
console.log('Query Result:', result.rows)
})
})
})
}
ctx.response.body = await getData()
})
嗯,至少我希望这可以帮助像我这样的其他新手