Это приложение Node.js использует Express и MySQL для обслуживания данных книг и заказа через различные конечные точки API. Сервер прослушивает порт 3000 и использует пользовательскую функцию Lekerdez, которая охватывает DB.QUERY в обещание для более чистого асинхронного обработки. Он выставляет конечные точки, такие как /Vegpont, /Vegpont2, /tipusok, /Regenyek и /Magyarul, каждый из которых использует различные запросы SQL, чтобы получить информацию, такую как количество книг, категории, названия и данные отфильтрованных заказов. Обработка ошибок включена, возвращая соответствующие ответы HTTP 500 при сбое запросов SQL. Статические файлы обслуживаются из публичного каталога.const express = require('express');
const mysql = require('mysql');
const app = express();
app.use(express.static("public"));
const db = mysql.createConnection({
host: '',
user: '',
database: ''
});
app.listen(3000,() => {
console.log('A szerver elindult a 3000-es porton...');
});
function lekerdez(sql) {
return new Promise((resolve, reject) => {
db.query(sql, (err, rows) => {
if (err) {
reject(err);
} else {
resolve(rows);
}
});
});
}
app.get('/vegpont',(req, res) => {
const sql1 = `SELECT COUNT(*) AS 'osszes', (COUNT(*) * rg.ar) AS 'osszeg', rg.id, rg.kategoria, rg.magyar, rg.angol, rg.ev, rg.ar
FROM regeny rg left JOIN rendeles re ON rg.id = re.regenyid GROUP BY rg.id;`;
lekerdez(sql1)
.then((adatok) => {
res.send(adatok);
})
.catch((hiba) => {
console.log(hiba);
res.status(500).send(`Hiba történt az adatok lekérdezése során: ${hiba}`);
});
});
app.get('/vegpont2',(req, res) => {
const sql1 = `SELECT * from rendeles;`;
lekerdez(sql1)
.then((adatok) => {
res.send(adatok);
})
.catch((hiba) => {
console.log(hiba);
res.status(500).send(`Hiba történt az adatok lekérdezése során: ${hiba}`);
});
});
app.get('/tipusok',(req, res) => {
const sql1 = `SELECT kategoria AS 'Főszereplő', COUNT(*) AS 'Regények száma' FROM regeny GROUP BY kategoria;`;
lekerdez(sql1)
.then((adatok) => {
res.send(adatok);
})
.catch((hiba) => {
console.log(hiba);
res.status(500).send(`Hiba történt az adatok lekérdezése során: ${hiba}`);
});
});
app.get('/regenyek',(req, res) => {
const sql1 = `SELECT magyar FROM regeny ORDER BY magyar;`;
lekerdez(sql1)
.then((adatok) => {
res.send(adatok);
})
.catch((hiba) => {
console.log(hiba);
res.status(500).send(`Hiba történt az adatok lekérdezése során: ${hiba}`);
});
});
app.get('/magyarul',(req, res) => {
const sql1 = `SELECT re.datum AS 'Dátum', re.darab AS 'Mennyiség' FROM regeny rg left JOIN rendeles re ON rg.id = re.regenyid WHERE rg.magyar = "${req.query.magyar}" AND re.darab > 1 ORDER BY re.datum;`;
lekerdez(sql1)
.then((adatok) => {
res.send(adatok);
})
.catch((hiba) => {
console.log(hiba);
res.status(500).send(`Hiba történt az adatok lekérdezése során: ${hiba}`);
});
});
Подробнее здесь: https://stackoverflow.com/questions/796 ... munication
У кого -нибудь есть хороший фронт для бэкэнд -общения XHR? [закрыто] ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Должен ли я выучить фронт или бэкэнд после изучения Python? [закрыто]
Anonymous » » в форуме Javascript - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-