【发布时间】:2016-02-27 18:29:49
【问题描述】:
最好有一个单独的函数来处理同一个 API 端点的 GET 和 POST 请求,还是将它们组合成一个函数来根据 req.body 或 req.params 的存在进行区分?
即。
app.get('/api/profilepic', api.get_profilepic);
app.post('/api/profilepic', api.change_profilepic);
或:
app.get('/api/profilepic', api.profilepic);
app.post('/api/profilepic', api.profilepic);
如果是后者,expressjs是否提供了帮助函数来确定请求类型?到目前为止,我确定 req 是否为 POST 的方法需要下划线:
if (_.size(req.body) == 0)
【问题讨论】:
-
从您的函数名称来看,它们执行不同的任务。所以我会让他们分开。 FWIW,您可以检查
req.method以查看它是否包含GET或POST(或其他方法,甚至)。 -
还有
app.all()来处理这两个(以及更多)