Heim > Fragen und Antworten > Hauptteil
Ich habe einige Fragen zum Löschen von Elementen aus Mongo:
deleteCustomer: build.mutation({ query: (id) => ({ url: `client/cutomers/${id}`, method: 'DELETE', body: 'id', }), providesTags: ['DeleteUser'], }),
So sieht es im Controller aus:
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 }) } }
Wie wäre es mit der Route:
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;
Sobald ich das Löschen des Objekts aus byza anfordere, erhalte ich die folgende Fehlermeldung:
Ich habe überprüft, dass Get-Anfragen bei Verwendung von Fetch einwandfrei funktionieren. So habe ich die Anfrage gestellt:
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) }
Ich glaube, dass ich die Löschfunktion in deleteUser auf Controller-Ebene nicht korrekt umsetze. Ich würde mich sehr über Ihre Vorschläge zur Behebung dieses Problems freuen :)
P粉9249157872024-04-02 14:11:31
查看您正在获取的路由 URL。在您的屏幕截图上,您当前发出的发布请求网址似乎是 http://localhost:5001/client/cutomers/...
我认为它在以下函数中:
deleteCustomer: build.mutation({ query: (id) => ({ url: `client/cutomers/${id}`, // You put cutomers instead of customers method: 'DELETE', body: 'id', }), providesTags: ['DeleteUser'], }),
这可以解释为什么你的服务器给出 404 not found 响应。
您可以尝试进行更正并向我们提供更新吗?