Estoy usando reaccionar, nodo, expreso, postgreso. ¿Cómo haría para usar rutas rápidas para pasar múltiples parámetros? por ejemplo:
Esta es mi ruta:
//Get entries from materials2 table app.get("/materials2/:id1&:id2", async (req, res) => { try { const {material_thickness, material_width} = req.params; const contact = await pool.query( `SELECT * FROM materials_inventory WHERE (material_thickness = $1) AND (material_width BETWEEN ($2-0.5) AND ($2+0.5))`, [material_thickness, material_width]); res.json(contact.rows[0]); } catch (err) { console.error(err.message); } })La idea es que necesito pasar dos parámetros a la consulta de búsqueda.
Desde el lado de reacción tengo:
const stateSetter = async (thickness, width, length, length2) => { try { const response = await fetch(`http://localhost:5000/materials/${thickness, width}`, [thickness, width]) const jsonData = await response.json(); console.log(thickness); } catch (err) { console.log(err.message) } }Entonces, la idea es que stateSetter reciba algunos valores, los use con la ruta. ¿Cómo puedo hacer esto? ¡Gracias!
Puede utilizar request query . Cambie la ruta en el nodo así:
//Get entries from materials2 table app.get("/materials2", async (req, res) => { try { const {materialThickness, materialWidth} = req.query; const contact = await pool.query( `SELECT * FROM materials_inventory WHERE (material_thickness = $1) AND (material_width BETWEEN ($2-0.5) AND ($2+0.5))`, [materialThickness, materialWidth]); res.json(contact.rows[0]); } catch (err) { console.error(err.message); } })Y llamas en la interfaz así:
const stateSetter = async (thickness, width, length, length2) => { try { const response = await fetch(`http://localhost:5000/materials2?materialThickness=${thickness}&materialWidth=${width}`) const jsonData = await response.json(); console.log(thickness); } catch (err) { console.log(err.message) } } Además, estaba llamando a los materials del punto final desde su interfaz, pero lo especificó como materials2 en el nodo. Actualicé eso en la respuesta, pero tenlo en cuenta.