Tengo una API en MariaDB y ExpressJS y solo funciona para obtener la ruta...
const getAllBills = async (req, res) => { try { const conn = await pool.getConnection(); const result = await conn.query('SELECT * FROM facturas') res.status(200).json(result); } catch (err) { res.status(500).json({ message: err.message }); } }; const createBills = async (req, res) => { try { const conn = await pool.getConnection(); const result = await conn.query( 'INSERT INTO facturas (total, nombre, apellido, ciudad, direccion, codigo_postal, cedula) VALUES (?, ?, ?, ?, ?, ?, ?)', [req.body.total, req.body.nombre, req.body.apellido, req.body.ciudad, req.body.direccion, req.body.codigo_postal, req.body.cedula] ); const deleteBills = async (req, res) => { try { const conn = await pool.getConnection(); const result = await conn.query('DELETE FROM facturas WHERE id = ?', [req.params.id]); if (result.affectedRows === 0) { res.status(404).json({ message: 'Factura no encontrada' }); } else { res.status(200).json(result); } } catch (err) { res.status(500).json({ message: err.message, }); } }Estas son mis rutas, funciona excepto publicar y eliminar
const { Router } = require('express'); const router = Router(); const { getAllBills, getBillsByCedula, createBills, deleteBills } = require('../controllers/facturaControllers'); router.get('/facturas', getAllBills); router.post('/facturas', createBills); router.delete('/facturas/:id' , deleteBills);Entonces, no sé qué hacer porque el servidor realmente funciona, pero cuando hago una solicitud POST o DELETE, aparece el error 500.
Este código carece del signo } , y la función/lógica de creatbills y eliminar facturas en los controladores debe estar separada.
Intenta usar este código:
const createBills = async (req, res) => { try { const conn = await pool.getConnection(); const result = await conn.query( 'INSERT INTO facturas (total, nombre, apellido, ciudad, direccion, codigo_postal, cedula) VALUES (?, ?, ?, ?, ?, ?, ?)', [req.body.total, req.body.nombre, req.body.apellido, req.body.ciudad, req.body.direccion, req.body.codigo_postal, req.body.cedula] ); } catch (err){ res.status(500).json({ message: err.message, }); }; }; const deleteBills = async (req, res) => { try { const conn = await pool.getConnection(); const result = await conn.query('DELETE FROM facturas WHERE id = ?', [req.params.id]); if (result.affectedRows === 0) { res.status(404).json({ message: 'Factura no encontrada' }); } else { res.status(200).json(result); } } catch (err) { res.status(500).json({ message: err.message, }); }; };