我是新手,表达和节点在一起似乎被卡住了,似乎是一个简单的问题。我有一个使用GET
的API路线。路线:
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)
}
}
当我使用Postman发送GET
请求时,它的工作正常。但是在发送POST
请求时,我会获得通用express.js" 无法POST / api / v1 / all "。
为什么response.send(reply)
对POST
方法不起作用?
答案 0 :(得分:1)
app.get(...)
定义仅与GET方法匹配的端点。如果要处理POST方法,则必须在app.post(...)
答案 1 :(得分:0)
您可以使用app.all(...)
来处理GET
和POST
个请求,但它也会接受其他类型的请求,例如PUT
和DELETE
。我更喜欢将GET
和POST
请求分开。