我正在处理一个REST API Post请求,以便向SQL数据库中插入新数据,但它不起作用。 下面是我的代码:
var express = require('express'); // Web Framework
var app = express();
var sql = require('mssql'); // MS Sql Server client
const { request } = require('http');
// Connection string parameters.
var sqlConfig = {
user: 'username',
password: 'password',
server: 'serveraddress',
database: 'databasename'
}
// Start server and listen on http://localhost:8081/
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("app listening at http://%s:%s", host, port)
});
//POST API
app.post("/tag/insert/:tagId/", function(req , res){
sql.connect(sqlConfig, function() {
var request = new sql.Request();
var stringRequest = "INSERT INTO Tag (tagId, tagStatus) VALUES ("+ req.params.tagId+ ", 1)";
request.query(stringRequest, function(err, recordset) {
if(err) console.log(err);
res.end(JSON.stringify(recordset)); // Result in JSON format
});
});
})
如果我试图通过浏览器插入一个新的标记,比如“http://localhost:8081/tag/insert/23232”,它总是说“不能得到/tag/insert/23232”。 这是什么意思? 怎么解决?
这意味着您在创建POST
端点时正在使用GET
请求。 我不确定这是否有效,但是您可以尝试将app.post
更改为app.get
,这样您实际上就有了一个get
端点。
我建议您阅读HTTP请求方法。