Я пытался отредактировать имя пользователя и адрес электронной почты учетной записи пользователя после его регистрации, но я не смог получить ответ от моего отредактированного маршрута пользователя в NodeJS, ниже мой регистрационный код пользователя:
Зарегистрированный маршрут
router.post(
'/register',
[
check('name', 'name is require')
.not()
.isEmpty(),
check('role', 'role is require [student, staff, admin]')
.not()
.isEmpty(),
check('email', 'email is require').isEmail(),
check('password', 'password require up to 6 characters').isLength({
min: 6
})
//check('role', 'role is require').not().isEmpty()
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const { name, email, password, role } = req.body;
try {
let user = await User.findOne({ email });
if (user) {
return res
.status(400)
.json({ errors: [{ msg: 'User is already existed' }] });
}
const salt = await bcrypt.genSalt(SALT_ID);
user.password = await bcrypt.hash(password, salt);
await user.save();
//return jwt back to client header
const payload = {
user: {
id: user.id,
role: user.role,
name: user.name,
email: user.email
}
};
jwt.sign(
payload,
config.get('jwtSecret'),
//config.get(process.env.SECRET_PASS),
{ expiresIn: 360000 },
(err, token) => {
if (err) throw err;
res.json({
success: true,
msg: `Congratulations!, ${role} is register successfully`,
token
});
}
);
} catch (err) {
console.log(err.message);
return res.status(500).json({ error: [{ msg: 'Server Error' }] });
}
}
);
Это пользовательский маршрут редактирования с методом запроса PUT, когда я пытался отправить запрос в Почтальон, он не ответил с этим кодом ошибки в Почтальоне:
Could not get any response
There was an error connecting to http://localhost:8080/api/user/edit/5e435a2c4f5ac726907c768e.
Why this might have happened:
The server couldn't send a response:
Ensure that the backend is working properly
Self-signed SSL certificates are being blocked:
Fix this by turning off 'SSL certificate verification' in Settings > General
Proxy configured incorrectly
Ensure that proxy is configured correctly in Settings > Proxy
Request timeout:
Change request timeout in Settings > General
Редактирование маршрута пользователя (в настоящее время не работает)
router.put('/edit/:user_id', auth, admin, async (req, res) => {
[
check('name', 'name is require')
.not()
.isEmpty(),
check('email', 'email is require').isEmail()
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const user = await User.findByIdAndUpdate(
{ _id: req.params.user_id },
req.body,
{
new: true
}
);
await user.save();
res
.status(200)
.json({ msg: 'User Update Successfully', success: true });
} catch (error) {
console.log(error.message);
if (error)
res.status(400).json({
errors: [{ msg: 'Please check it again!' }]
});
}
};
});
Что я думаю, возможно, из-за того, что зарегистрированный маршрут пользователя зашифрован, поэтому я не смог реализовать редактирование маршрута пользователя?
Примечание. Я просто хочу изменить имя и адрес электронной почты учетной записи пользователя в будущем, если они захотят ее изменить. Пожалуйста, помогите, любое предложение или идея сделать редактирование маршрута пользователя выше работы. Спасибо.