提问者:小点点

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


我正在处理一个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”。 这是什么意思? 怎么解决?


共1个答案

匿名用户

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

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