Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Express 6 - GET en détail
- Etudiant : Christophe Crébier, Wild Code School Lyon 2020.03
- */
- const express = require('express');
- const app = express();
- const connection = require('./conf');
- const port = 3000;
- // écoute de l'url "/api/movies" => GET ALL
- app.get('/api/movies', (req, res) => {
- let sql = 'SELECT * FROM movie';
- const sqlValues = [];
- // Si le paramètre rating est founi
- if (req.query.rating) {
- sql += ' WHERE rating = ?';
- sqlValues.push(req.query.rating);
- }
- // Si le paramètre genre est fourni
- if (req.query.genre) {
- if (req.query.rating) {
- // Losque que rating est aussi fourni
- sql += ' AND genre = ?';
- } else {
- // Seulement si genre est fourni
- sql += ' WHERE genre = ?';
- }
- sqlValues.push(req.query.genre);
- }
- // send an SQL query to get all movies
- connection.query(sql, sqlValues, (err, results) => {
- if (err) {
- // If an error has occurred, then the client is informed of the error
- res.status(500).send(`An error occurred: ${err.message}`);
- } else {
- // If everything went well, we send the result of the SQL query as JSON
- res.json(results);
- }
- });
- });
- // écoute de l'url "/api/movies/:id" => GET ONE
- app.get('/api/movies/:id', (req, res) => {
- const idMovie = req.params.id;
- // connection à la base de données, et sélection des films
- connection.query('SELECT * FROM movie WHERE id = ?', [idMovie], (err, results) => {
- if (err) {
- // Si une erreur est survenue, alors on informe l'utilisate
- res.status(500).send('Erreur lors de la récupération des films');
- } else if (results.length === 0) {
- // si l'id n'existe pas : erreur 404 + message
- res.status(404).send('Movie not found');
- } else {
- // Si tout s'est bien passé, on envoie le résultat de la requête SQL en tant que JSON.
- res.json(results);
- }
- });
- });
- // écoute de l'url "/api/movies/names"
- app.get('/api/movies/names', (req, res) => {
- connection.query('SELECT name FROM movie', (err, results) => {
- if (err) {
- res.status(500).send('Erreur lors de la récupération des noms des films');
- } else {
- res.json(results);
- }
- });
- });
- app.listen(port, (err) => {
- if (err) {
- throw new Error('Something bad happened...');
- }
- console.log((`Server is listening on ${port}`));
- });
Add Comment
Please, Sign In to add comment