ME APP를 만들고 등록시 이메일이 이미 있는지 확인하고 싶습니다. 그러나 GET 요청은 아무것도 표시하지 않습니다. 또한 오류가 없습니다. 나는 또한 경로의 시작 부분을 console.log가 표시되지 않기 때문에GET 신청 경로 의미
server.js
...
// Set user routes
const userRoutes = require('./user/user_controller');
app.use('/user', userRoutes);
...'
user_controller.js
router.get('/:email', (req, res) => {
console.log('Requesting user');
User.findOne({'email': req.params.email})
.exec(function(err, user) {
if(err) {
console.log('Error getting the post');
} else {
res.send(user);
}
});
});
가져 오기 경로는 절대 들어 가지. 당신이 잘못된 경로를 호출
router.post('/', (req, res) => {
user = req.body;
// Validation
req.checkBody('firstName', "Enter a valid firstname").exists().isAlpha();
req.checkBody('lastName', 'Enter a valid lastname').exists().isAlpha();
req.checkBody('email', 'Enter a valid email').exists().isEmail();
req.checkBody('password', 'Enter a valid password').exists().isLength({min:8});
const errors = req.validationErrors();
if(errors) {
res.json({errors: errors});
} else {
User.create(user)
.then((user) => res.send(user));
}
});
당신은 params를 사용하고 있으며, 이것을'localhost/user/someemail'처럼 부를 것입니다. 'localhost/user? email = email'를 호출하면 경로가 제공된 경로와 일치하지 않습니다. – vibhor1997a