如何使用Node.js、Express和SQL DB编写POST REST API?

如何使用Node.js、Express和SQL DB编写POST REST API?,sql,node.js,sql-server,rest,express,Sql,Node.js,Sql Server,Rest,Express,我正在处理一个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

我正在处理一个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
        });
    });
})


如果我试图通过类似“”的浏览器插入新标记,它总是说“无法获取/tag/insert/23232”。这是什么意思?如何解决它?

这意味着您在创建
POST
端点时正在使用
GET
请求。我不确定这是否有效,但您可以尝试将
app.post
更改为
app.get
,这样您就有了一个
get
端点

我建议您仔细阅读HTTP请求方法。

您在末尾有“/tag/insert/:tagId/”斜杠,这可能是您的问题。