是有一个单独的函数来处理同一 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是否提供了判断请求类型的辅助函数?到目前为止,我确定请求是否为 POST 的方法需要下划线:
if (_.size(req.body) == 0)
最佳答案
没有通用规则,最佳方法取决于您处理的案例。我想如果你想要一个接受 POST 和 GET 请求的 api 端点,你应该像这样使用 express function all() :
app.all('/api/profilepic', api.get_profilepic);
当处理函数不同时,您应该为 POST 和 GET 使用单独的端点。
关于node.js - Expressjs 一个函数来处理 GET 和 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002787/