Я пытаюсь научиться создавать API с помощью Node и Express.js. Я нашел следующий шаг за шагом: нажмите здесь
И создал очень похожую версию, но с моими данными:
var express = require("express");
var bodyParser = require("body-parser");
var sql = require("mssql");
var app = express();
app.use(bodyParser.json());
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, contentType,Content-Type, Accept, Authorization");
next();
});
var server = app.listen(process.env.PORT || 8080, function () {
var port = server.address().port;
console.log("App now running on port", port);
});
var dbConfig = {
user: "myUser",
password: "myPass",
server: "myServer",
database: "MyDB"
};
var executeQuery = function(res, query){
sql.connect(dbConfig, function (err) {
if (err) {
console.log("Error al conectarse a la base :- " + err);
res.send(err);
}
else {
// create Request object
var request = new sql.Request();
// query to the database
request.query(query, function (err, res) {
if (err) {
console.log("Error al correr query en la base :- " + err);
res.send(err);
}
else {
res.send(res);
}
});
}
});
}
//GET API
app.get("/api/ApiRequestData", function(req, res){
var query = "select * from [RequestData]";
executeQuery (res, query);
});
После создания документа server.js, выполненного с npm install
и запуска с node server.js
, я открыл почтальон, используя следующий URL: http://localhost:8080/api/ApiRequestData
и получил сообщение об ошибке: «Не удалось получить ответ». В командной строке узла я получаю сообщение:
TypeError: res.send не является функцией
в C: \ Users \ API \ server.js: 43: 44
в C: \ Users \ API \ node_modules \ mssql \ lib \ main.js: 1588: 20
в Request.userCallback (C: \ Users \ API \ node_modules \ mssql \ lib \ tedious.js: 853: 61)
at Request.callback (C: \ Users \ API \ node_modules \ tedious \ lib \ request.js: 33: 27)
в сообщении Connection.message (C: \ Users \ API \ node_modules \ tedious \ lib \ connection.js: 1179: 27)
в Connection.dispatchEvent (C: \ Users \ API \ node_modules \ tedious \ lib \ connection.js: 519: 45)
на MessageIO. (C: \ Users \ API \ node_modules \ утомительно \ Lib \ connection.js: 439: 23)
на emitNone (events.js: 106: 13)
на MessageIO.emit (events.js: 208: 7)
на ReadablePacketStream. (C: \ Users \ API \ node_modules \ утомительный \ Lib \ Message-io.js: 92: 15)
Кто-то знает, почему показывает это сообщение?
Надеюсь, вы сможете мне помочь.