#node.js #rest #express #connect
#node.js #rest #экспресс #Контакты
Вопрос:
У меня есть этот код в моем app.js файл для обработки запросов api
app.use('/api', cors());
rest.get('/posts', function(req, content, cb) {
Post.find(function(err, posts) {
if (err) return cb({error: 'Internal error.'});
cb(null, posts.map(function(p) {
return {
title: p.title
};
}));
});
});
var apiOptions = {
context: '/api',
domain: require('domain').create(),
};
apiOptions.domain.on('error', function(err){
console.log('API domain error.n', err.stack);
setTimeout(function(){
console.log('Server shutting down after API domain error.');
process.exit(1);
}, 5000);
server.close();
});
app.use(rest.rester(apiOptions));
Когда я делаю запрос get http://localhost:3000/api/posts
, я получаю это информационное сообщение
info: Request won't be handled by connect-rest
А затем после некоторых ошибок, связанных с невозможностью поиска просмотров, потому что я еще не сделал никаких просмотров. Как я могу заставить connect-rest обрабатывать эти запросы?
Ответ №1:
У меня была такая же проблема, и я решил ее, переместив строку app.use(rest.rester(apiOptions));
выше строки, где определен первый метод API (первое использование rest.get(...)
).