1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| /**
* Identifiants MySQL
*/
const __hostname__ = "localhost";
const __username__ = "user";
const __password__ = "********";
const __database__ = "base_radio";
// Dépendances aux paquets externes
var express = require('express');
var mysql = require('mysql');
var bodyParser = require('body-parser');
var app = express();
var connection = mysql.createConnection({
host : __hostname__,
user : __username__,
password : __password__,
database : __database__
});
/**
* Configuration du bodyParser pour pouvoir traiter
* les requêtes en POST
*/
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
/**
* Définition des routes
*/
var router = express.Router();
// Route par défaut
router.get('/', function(req, res) {
res.json({
message: 'Bienvenue sur l\'API des stations radios. Voici la documentation :',
url: 'http://xxx.app/station-radio/documentation'
});
});
// Route : station la plus proche
router.route('/nearest')
.post(function(req, res) {
var station = req.body.station;
var lattitude = req.body.lattitude;
var longitude = req.body.longitude;
// Contrôle des erreurs ...
connection.connect();
connection.query("select freqProche(?, ?, ?);", [station, lattitude, longitude], function (err, rows) {
if (err) throw err;
res.json(rows);
});
connection.end();
});
app.use('/api', router);
// Démarrage du serveur
app.listen(port);
console.log('Serveur en écoute sur le port ' + port); |
Partager