Mi consulta getByTitle no parece funcionar, todas mis otras rutas y modelos funcionan perfectamente usando parámetros. ¿No estás seguro de qué es lo que he escrito mal?
Para el contexto, este es el código addBook.
//Route //Create a book router.post("/books", async (req, res) => { console.log(req.body); try { let body = req.body; const newBook = await addBook(body); res.json(newBook); } catch (error) { console.error(error.message); res.json({ success: false }); } }); //Model async function addBook(body) { try { const res = await query( `INSERT INTO my_books(author_firstname, author_lastname, title, publishedDate) VALUES ($1, $2, $3, $4) RETURNING * `, [ body.author_firstname, body.author_lastname, body.title, body.publishedDate, ] ); return res.rows[0]; } catch (error) { console.error(error.message); } }He insertado solo el código relevante, lo anterior funciona bien, sin embargo, lo siguiente constantemente devuelve todo. En Postman hago lo siguiente:
Obtener: http://localhost:5000/books?title= título-nombre-aquí
con el cuerpo, crudo, json:
{ "título":"nombre del título aquí" }
//Route //Get book by title router.get("/books", async (req, res) => { try { let title = req.query.title; let res = await getByTitle(title); return res.json({ success: true, payload: res }); } catch (error) { console.error(error.message); res.json({ success: false }); } }); //Model async function getByTitle(body) { try { console.log("this is the value of title", title); const res = await query( ` SELECT * FROM my_books WHERE title = $1`, [body.title] ); return res.rows; } catch (error) { console.error(error.message); } }