J'ai quelques requêtes pour supprimer des éléments de mongo :
deleteCustomer: build.mutation({ query: (id) => ({ url: `client/cutomers/${id}`, method: 'DELETE', body: 'id', }), providesTags: ['DeleteUser'], }),
À quoi ça ressemble dans le contrôleur :
export const deleteCustomer = async (req, res) => { try { const { id } = req.params; const formattedUsers = User.findByIdAndDelete(id); res.status(200).json(formattedUsers); } catch (e) { res.status(404).json({ message: e.message }) } }
Que diriez-vous de l'itinéraire :
import express from "express"; import { getEmployees, getCustomers, getTransactions, getGeography, deleteCustomer, getCustomer } from "../controllers/client.js"; const router = express.Router(); router.get("/employees", getEmployees); router.get("/customers", getCustomers); router.get("/transactions", getTransactions); router.get("/geography", getGeography); router.get("/customers/:id", getCustomer); router.delete("/customers/:id", deleteCustomer); export default router;
Dès que je demande la suppression de l'objet de byza, j'obtiens l'erreur suivante :
J'ai vérifié que les requêtes get fonctionnent correctement lors de l'utilisation de fetch. Voici comment j'ai fait la demande :
const [deleteCustomer] = useDeleteCustomerMutation() function handleDeleteUser(id) { // fetch('http://localhost:5001/client/customers/' + id, { // method: 'GET', // }) // .then(res => res.json()) // .then(res => console.log(res)) deleteCustomer(id) }
Je pense que je n'implémente pas correctement la fonctionnalité de suppression dans deleteUser au niveau du contrôleur. J'apprécierais vraiment vos suggestions sur la façon de résoudre ce problème :)
Affichez l'URL de l'itinéraire que vous obtenez. Sur votre capture d'écran, l'URL de votre demande de publication actuelle semble être
http://localhost:5001/client/cutomers/...
Je pense que c'est dans la fonction suivante :
Cela peut expliquer pourquoi votre serveur donne une réponse 404 introuvable.
Pouvez-vous essayer d'apporter une correction et nous fournir une mise à jour ?