我是 Node.js 的初学者,并尝试使用 express.js 。我按照 Tutorialpoint 中的教程学习express.js。但是,我在 node.js restful api 会话上遇到了一些麻烦。这是它的链接:
https://www.tutorialspoint.com/nodejs/nodejs_restful_api.htm
我遵循本教程,但在 POST 和 DELETE HTTP方法上遇到麻烦。这是他们的代码:
users.json
{
"user1" : {
"name" : "mahesh",
"password" : "password1",
"profession" : "teacher",
"id": 1
},
"user2" : {
"name" : "suresh",
"password" : "password2",
"profession" : "librarian",
"id": 2
},
"user3" : {
"name" : "ramesh",
"password" : "password3",
"profession" : "clerk",
"id": 3
}
}
POST方法:无法GET / addUser
var user = {
"user4" : {
"name" : "mohit",
"password" : "password4",
"profession" : "teacher",
"id": 4
}
}
app.post('/addUser', function (req, res) {
// First read existing users.
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
data["user4"] = user["user4"];
console.log( data );
res.end( JSON.stringify(data));
});
})
删除方法:无法GET / deleteUser
app.delete('/deleteUser', function (req, res) {
// First read existing users.
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
delete data["user" + 2];
console.log( data );
res.end( JSON.stringify(data));
});
})
此链接上的2个GET方法正常工作。另外,我不知道为什么我调用POST和DELETE,结果将GET打印到屏幕,虽然我不能调用任何GET方法。谢谢你的建议。
答案 0 :(得分:4)
您将获得Cannot GET/deleteUser
,因为您通过浏览器访问api,浏览器将始终发送GET请求。你应该使用像POSTMAN这样的东西来发出POST请求,然后你就可以发帖了。