我有一个根端点,当用户输入如下 URL 时,它就会工作:
http://localhost:8000/?date=2019-10-20&station=41027&daysForward=3
我想在同一文件中使用不同的查询创建第二个根端点,但这不起作用。
我的代码:
// Create express app
var express = require("express")
var app = express()
var mysql = require('mysql')
var express = require("express")
var cors = require('cors')
app.use(cors())
// Server port
var HTTP_PORT = 8000
// Start server
app.listen(HTTP_PORT, () => {
console.log("Server running on port %PORT%".replace("%PORT%",HTTP_PORT))
});
var con = mysql.createConnection({
host: "192.168.1.1",
port: "3456",
user: "user",
password: "pass"
});
var con2 = mysql.createConnection({
host: "192.168.1.1",
port: "3456",
user: "user",
password: "pass"
});
let aladinModel= '';
let aladinModelStations = '';
app.route('/')
.get(function(req, res) {
// omitted
res.setHeader('Access-Control-Allow-Origin', '*');
const date = req.query.date;
const station = req.query.station;
const daysForward = req.query.daysForward;
try {
const query = `CALL aladin_surfex.Get_mod_cell_values_meteogram('${date}', ${station}, ${daysForward})`;
con.query(query, function (err, result, fields) {
if (err) throw err;
aladinModel = result;
});
res.json({aladinModel})
} catch(error){
console.log("Error query database!!!");
}
});
app.route('/stations')
.get(function(req, res) {
// omitted
res.setHeader('Access-Control-Allow-Origin', '*');
try {
const query2 = `SELECT Station,Ime FROM stations_cells`;
con2.query2(query2, function (err, result2, fields) {
if (err) throw err;
aladinModelStations = result2;
});
res.json({aladinModelStations})
} catch(error){
console.log("Error query database!!!");
}
});
app.use(function(req, res){
res.status(404);
});
我想这不是路由页面的正确方法,但我希望有人可以用一个例子向我解释如何修复代码 - 所以当用户输入时:
http://localhost:3000/stations
应该加载数据。
当我尝试打开此链接时看到此错误。
[nodemon] starting `node server.js localhost:8000`
Server running on port 8000
Error query database!!!
此查询
SELECT station, ime
FROM stations_cells
在第二个根点上就可以了。我尝试使用 HeidiSQL 进行SELECT
,数据库返回数据值?
第二个根点的问题出在哪里?
最佳答案
情况可能并非如此,但这是建议(不适合评论部分)
app.route('/')
.get(function(req, res) {
// omitted
});
app.route('/stations')
.get(function(req, res) {
// omitted
});
关于javascript - 如何使用 Node.js 和 EXPRESS 在一个文件 Restful API 中设置两个根端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58817795/