2017-12-12 12 views
0

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)); 
} 
}); 
+0

당신은 params를 사용하고 있으며, 이것을'localhost/user/someemail'처럼 부를 것입니다. 'localhost/user? email = email'를 호출하면 경로가 제공된 경로와 일치하지 않습니다. – vibhor1997a

답변

0

을 비교? - 내가/사용자 이메일 = 이메일

내가 로컬 호스트/사용자에 대해 완벽하게 작동 whih 포스트 경로가 로컬 호스트 호출 할 때 작동하는 경로를 기대 way,

다음 중 하나를 수행 할 수 있습니다. 당신이이 경로 경로를 /하지 /:email 일치하고 req.query.email처럼 액세스 할 수 있기 때문에 당신이 그것을 localhost/user?email=email를 호출했다 말했듯이

1) / 에 경로 경로를 변경합니다.

2) localhost/user/someemail과 같이 호출 /:email 라우팅 경로로 사용하려는 경우 당신이 그것을 를 호출하는 방식을 변경합니다.