【发布时间】:2019-09-23 02:49:16
【问题描述】:
我正在浏览 pg-promise-demo 的 Javascript 演示,我对 /api/users/:name 的路线有疑问。
在本地运行它,用户被输入到数据库中,但是这不是 POST 有什么原因吗?使用 GET 在数据库中创建用户有什么好处吗?
// index.js
// --------
app.get('/api/users/:name', async (req, res) => {
try {
const data = (req) => {
return db.task('add-user', async (t) => {
const user = await t.users.findByName(req.params.name);
return user || t.users.add(req.params.name);
});
};
} catch (err) {
// do something with error
}
});
为简洁起见,我将省略 t.users.findByName(name) 和 t.users.add(name) 的代码,但它们使用 QueryFile 来执行 SQL 命令。
编辑:更新 pg-promise-demo 的链接。
【问题讨论】:
-
就我个人而言,我想不出有什么理由——只是感觉如此错误和危险。我永远不会这样做,因为它只需要浏览一个 URL。我会建议 opening an issue 在那个 repo 上提出同样的问题......也许作者只是为了演示目的而这样做?即使是演示,也是一种糟糕的做法。
标签: node.js express pg-promise