Compruebo los puntos finales de la API usando POSTMAN. Pero su método post HTTP no funciona correctamente. Este es el código backend de inicio de sesión del usuario. Obtenga datos de la base de datos mongo DB y valide el inicio de sesión del usuario. Después de validar, el usuario puede iniciar sesión fácilmente en el sistema.
Este es el archivo User Dao.js.
usuarioDAO.js
const user = require('./index').db("newDb").collection("user"); const bcrypt = require('bcrypt'); var ObjectId = require('mongodb').ObjectId; const register = ({userName, password, age, city}) => { bcrypt.hash(password, 10, function(err, hashPassword) { const insertResult = user.insertOne({userName, password, hashPassword, age, city}); return insertResult; }); }; const login = async({userName, password}) => { const filteredDocs = await user.findOne({ userName: userName }); if(filteredDocs){ if(filteredDocs.password === password){ return {success:true, msg: "Login Successfull"}; }else{ return {success:false, msg: "Password Incorrect Try Again"}; } }else{ return {success:false, msg: "Username Incorrect Try Again"}; } }; module.exports = {register, login};Este es el archivo user.api.
usuario.api.js
const {register, login} = require('../dal/user.dao'); const registerStudent = async({userName, password, age, city}) => { const user = { userName, password, age, city } return await register(user); }; const loginUser = async({userName, password}) => { const user = { userName, password } return await login(user); }; module.exports = {registerStudent, loginUser};Este es el archivo userRouter.js.
usuario.Router.js
const Router = require('@koa/router'); const userRouter = new Router(); const {registerStudent, loginUser} = require('../api/user.api'); userRouter.post("/user/add", async ctx => { const data = ctx.request.body; const student = registerStudent(data); ctx.body = {success:true}; ctx.status = 201; ctx.set('Content-Type', 'application/json'); }); userRouter.post("/user/login", async ctx => { const data = ctx.request.body; const student = loginUser(data); ctx.body = {status: student}; ctx.status = 201; ctx.set('Content-Type', 'application/json'); }); module.exports = userRouter;Parece que está configurando la respuesta a la solicitud...
prueba esto:
userRouter.post("/user/add", async (ctx, res) => { const data = ctx.request.body; const student = registerStudent(data); res.json({success:true}); }); userRouter.post("/user/login", async (ctx, res) => { const data = ctx.request.body; const student = loginUser(data); res.json({status:student}; });En el archivo del enrutador del usuario, utilice la palabra clave 'esperar' antes de estos métodos.
registerStudent(data); loginUser(data);En el ejemplo, puede utilizar
userRouter.post("/user/add", async ctx => { const data = ctx.request.body; const student = await registerStudent(data); ctx.body = {success:true}; ctx.status = 201; ctx.set('Content-Type', 'application/json'); });