Express JS无法PUT / DELETE

项目结构

.app.js .routes/ ....resources.js 

我有以下服务器实例运行:

app.js

 "use strict"; const app = require('express')(); const resources = require('./routes/resources'); app.use('/', resources); const server = app.listen('3000', () => { let host = server.address().address; host = (host == '::' ? 'localhost' : host); const port = server.address().port; // log it console.log('listening at http://%s:%s', host, port); }); 

我有GET和POST请求工作(routes / resources.js)罚款即

 "use strict" const express = require('express'); const router = express.Router(); const bodyParser = require('body-parser'); //parser router.use(bodyParser.json()); // for parsing application/json router.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded // data let resources = [{ id: 1, name: 'Foo' }]; // POST router.post('/resources', (req, res) => { let item = req.body; //send status if (!item.id) { return res.sendStatus(500); } // saved as a string, id must be int item.id = parseInt(item.id, 10); // add id resources.push(item); // send the response of new resource res.send('/resources/' + parseInt(item.id, 10)); }); 

使用邮差我可以成功发布,但是下面的PUT和DELETE给我的不能删除/资源/消息:

 // PUT router.put('/resources/:id', (req, res) => { // get id from request let id = parseInt(req.body.id, 10); // find existing id in resources let existingItem = resources.filter(r => r.id === id)[0]; // if it doesn't exist if(!existingItem) { let item = req.body; item.id = id; resources.push(item); res.setHeader('Location', '/resources/' + id); res.sendStatus(201) } else { existingItem.name = req.body.name; res.sendStatus(204); } }); // DELETE router.delete('/resources/:id', (req, res) => { let id = parseInt(req.body.id, 10); let existingItem = resources.filter(r => r.id === id)[0]; if (!existingItem) { return res.sendStatus(404) } resources = resources.filter(r => r.id !== id); res.sendStatus(204) }); 

头在挠挠,为什么,虽然可能是答案正在凝视着我。 任何帮助,将不胜感激!

Doh,我给DELETE和PUTpath添加了/:id参数

 router.delete('/resources/:id...) router.put('/resources/:id'...) 

当时我只是把DELETE / PUT请求指向'/ resources /里面的POSTMAN。

感谢@Molda的帮助 – 让我意识到我的错误!