如何使用node.js、express和sql db编写post rest api?

whhtz7ly  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(370)

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

hkmswyz6

hkmswyz61#

这意味着你正在使用 GET 创建时请求 POST 终结点。我不确定这是否有效,但你可以试着改变 app.postapp.get 所以你真的有一个 GET 终结点。
我建议您仔细阅读http请求方法。

相关问题