在Node和Express中,我试图将所有流量发送到这样的网址。
APP.all('/testCase', function(req, res) {
console.log('Im called with the method: ' + req.method);
});
如果我现在这样做:
curl -X GET http://localhost:3000/testCase
它工作正常,我收到回复:Im called with the method: GET
但是当我这样做时:
curl -X INSERT http://localhost:3000/testCase
我得到了:curl: (52) Empty reply from server
我做错了什么?我会有很多自定义方法
答案 0 :(得分:0)
节点http解析器不支持INSERT方法。要查看支持的HTTP方法列表,您可以运行node -pe "require('http').METHODS"
。为了支持自定义HTTP方法,人们必须自己修补核心(特别是http解析器)。
答案 1 :(得分:0)
app.all(path, callback [, callback ...])
此方法类似于标准的app.METHOD()方法,除了它 匹配所有HTTP动词。
它对于映射特定路径前缀的“全局”逻辑非常有用 任意比赛。例如,如果您将以下内容放在顶部 所有其他路由定义,它要求所有路由 指向要求身份验证,并自动加载用户。保持 请记住,这些回调不必充当终点: loadUser可以执行任务,然后调用next()继续匹配 后续路线。
最常见的HTTP methods是: