我正在处理一个restapi 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“它总是说”cannot get/tag/insert/23232“。这是什么意思?怎么解决?
1条答案
按热度按时间hkmswyz61#
这意味着你正在使用
GET
创建时请求POST
终结点。我不确定这是否有效,但你可以试着改变app.post
至app.get
所以你真的有一个GET
终结点。我建议您仔细阅读http请求方法。