Javascript 处理GET路由上的POST请求(express.js)

Javascript 处理GET路由上的POST请求(express.js),javascript,node.js,express,request,Javascript,Node.js,Express,Request,我是一个新的表达和节点在一起,似乎是卡住了,什么似乎是,一个简单的问题。我有一个API路由,它使用GET。路线: app.get('/api/v1/all', getAllWords); 然后在getAllWords回调函数中,我想检查发送的请求是GET还是POST。这是我必须检查请求方法的代码: function getAllWords(request, response) { let reply; if (request.method === 'GET') { co

我是一个新的表达和节点在一起,似乎是卡住了,什么似乎是,一个简单的问题。我有一个API路由,它使用
GET
。路线:

app.get('/api/v1/all', getAllWords);
然后在
getAllWords
回调函数中,我想检查发送的请求是
GET
还是
POST
。这是我必须检查请求方法的代码:

function getAllWords(request, response) {
   let reply;
   if (request.method === 'GET') {
      console.log('This was a GET request');
      // handle GET here...
   }
   if (request.method === 'POST') {
      console.log('This was a POST request');
      reply = {
          "msg": "HTTP Method not allowed"
      };
      response.send(reply)
   }
}
当我使用邮递员发送一个
GET
请求时,它工作得很好。但是当发送
POST
请求时,我会得到generic express.js“Cannot POST/api/v1/all”


为什么
response.send(reply)
不适用于
POST
方法?

app.get(…)
定义仅与get方法匹配的端点。如果您想处理POST方法,您必须在
app.POST(…)
中提供单独的中间件,您可以使用
app.all(…)
来处理
GET
POST
请求,但它也接受其他类型的请求,例如
PUT
DELETE
。我更喜欢将
GET
POST
请求分开。

“为什么它没有响应。send(reply)对POST方法不起作用?”-因为它没有走到这一步
无法发布/api/v1/all
告诉您需要知道的一切-您没有配置应用程序来处理此路由上的发布请求。。。所以它根本就不是。