2016-02-21 5 views
0

Я использую экспресс. Как можно создать систему маршрутов, которая отображает одну и ту же страницу только для существующих пользователей? e.g user: jonh -> будет иметь пользователей страницы профиля/jonh? но «users/jonhhh» не должен существовать?узел js экспресс-маршрут для каждого пользователя

router.route('users/:id') 
     .get(models.User.client); 
+0

Должно/пользователи/jonhhh 404? – Acey

ответ

2

Проверьте, если пользователь существует и сделать разные страницы

app.get('/users/:id', function(req,res) { 
    if (users.indexOf(req.params.id) == -1) { 
    res.status(404); 
    return res.send('<html><body>' + 
     '<h1>User ' + req.params.id + ' not exists.</h1>' + 
     '</body></html>' 
    ); 
    } 
    res.status(200); 
    res.set('Content-type', 'text/html'); 
    res.send('<html><body>' + 
    '<h1>Hello ' + req.params.id + '</h1>' + 
    '</body></html>' 
); 
}); 

здесь users является массив существующих пользователей. Вы можете использовать другой подход - например, пытаясь найти такого пользователя в базе данных, а затем решить, что делать.

+0

Как бы вы заняли более позднюю часть? (совпадение с пользователем из базы данных и определение того, какой рендер) – user5893250

Смежные вопросы