Creé una llamada GET API destinada a buscar a cada usuario en mi base de datos de inicios de sesión. Por alguna razón, sigo recibiendo 500 llamadas. Aquí está mi código:
const http = axios.create({ baseURL: "http://localhost:8080/api", headers: { "Content-type": "application/json" } }); function fetchUsers(){ http.get("/getusers").catch(err => { console.log("OOF: " + err.message); }); } fetchUsers();Este es el archivo de rutas:
const users = require("../controller/users.controller.js"); var express = require('express'); var router = express.Router(); const pathStart = "/api"; // Retrieve all Users router.get(pathStart + "/getusers", users.findAll);Mi archivo de rutas se está utilizando en mi archivo app.js:
var indexRouter = require('./routes'); var userRouter = require('./routes/users.routes.js'); var app = express(); app.use('/', indexRouter); app.use('/', userRouter);usuarios.controlador.js:
// Retrieve all users from the database. exports.findAll = (req, res) => { console.log("extracting users"); const user = req.query.user; var condition = user ? { user: { [Op.like]: `%${user}%` } } : null; Users.findAll({ where: condition }) .then(data => { res.send(data); }) .catch(err => { res.status(500).send({ message: err.message || "Error occurred when retrieving users" }) }); }; Esta es mi salida: OOF: Request failed with status code 500
Es por estas dos líneas:
app.use('/', indexRouter); app.use('/', userRouter);Básicamente, nunca ingresará dentro de useRouter, el primero detecta todas las solicitudes. Necesitas tener algo como esto:
En aplicación.js
app.use('/api/user/', userRouter); app.use('/', indexRouter);En el enrutador del usuario
const users = require("../controller/users.controller.js"); var express = require('express'); var router = express.Router(); // const pathStart = "/api"; not needed anymore // Retrieve all Users router.get("/getusers", users.findAll);Su lógica de búsqueda:
const http = axios.create({ baseURL: "http://localhost:8080/api", headers: { "Content-type": "application/json" } }); function fetchUsers(){ http.get("/user/getusers").catch(err => { console.log("OOF: " + err.message); }); } fetchUsers();