node.js - Expressjs 一个函数来处理 GET 和 POST

标签 node.js express connect

是有一个单独的函数来处理同一 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 使用单独的端点。

详情请见: http://expressjs.com/en/guide/routing.html

关于node.js - Expressjs 一个函数来处理 GET 和 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002787/

相关文章:

javascript - Tensorflow.js tf.browser.fromPixels() 必须是 HTMLVideoElement

javascript - 如何使用nodejs将图像文件夹从网站下载到本地目录

node.js - 在 Nginx 后面运行 Express 应用程序时出现间歇性 502 Bad Gateway 错误

mysql - mysql连接远程主机慢是正常的吗?

c++ - 服务器如何知道客户端仍处于连接状态?

javascript - 如何使用nodejs调度任务?

javascript - 从变量创建对象 ES6

javascript - 在 Node.js 和 Mongoose 中从二进制重新创建图像

node.js - 如何在服务器端通过 HummusRecipe 加密 PDF 文件

php - 从 PHP 连接到 Microsoft SQL Server Express (2008) 时遇到问题