Comment faire une route express qui fait une requête de suppression mysql pour un ID spécifique
rantao
J'essaie de faire une demande de publication express qui, lorsqu'elle est déclenchée, supprime une ligne dans ma table Tasks MySQL, qui est connectée à un ID utilisateur spécifique. Je ne sais pas comment m'y prendre ... Je pense que je dois utiliser req.params.id dans mon code quelque part, mais je ne sais pas si c'est tout ce dont j'ai besoin ou si c'est même juste pour commencer.
Voici ce que j'ai jusqu'à présent:
const express = require("express");
const app = express();
const mysql = require("mysql");
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({extended: true}));
const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "PASSWORD",
database: "DATABASE"
});
connection.connect(function(err) {
if (err) {
console.log("Your connection to the database failed \n");
} else {
console.log("Your connection to the database was successful \n")
}
});
app.post("/deleteTask", function(req, res) {
let remove = "DELETE FROM Tasks WHERE "; // finish the query
connection.query(remove, function(err, result) {
if (err) {
console.log("The delete query failed");
res.sendStatus(500);
throw err;
} else {
res.sendStatus(200);
console.log(result);
}
connection.end();
});
});
BENARD Patrick
Oui, je vous suggère d'abord de lire la doc sur le routage: https://expressjs.com/en/guide/routing.html
Après Si c'était mon travail, j'obtiendrai le taskId avec quelque chose comme
app.post("/deleteTask/:taskId", function(req, res) {
const taskId = req.params.taskId;
let remove = "DELETE FROM Tasks WHERE "; // finish the query
...
});