2012-06-05 6 views
3

필자는 중앙 서버를 향해 통신해야하는 여러 서버 (Java로 작성된 서버)로 구성되어 있으며 모든 상황 업데이트를 자주 게시합니다. 이 상태 업데이트는 데이타베이스에 쓰여지는데 아마도 MongoDB/Mongoose가 REST를 통해 웹 엔드에 의해 처리 될 것입니다.Node.js에 웹 프론트 엔드가있는 RESTful API를 구현하는 방법은 무엇입니까?

나는이 문제에 접근하는 두 가지 방법으로 Restify and Express를보고 있습니다. 웹 사이트는 데이터베이스와 REST API를 쿼리합니다.

어떻게 접근해야합니까? Restify와 Express를 모두 사용하여 API가있는 웹 사이트를 만들어야합니까? 철도를 사용해야합니까? 감사.

답변

4

.

Express 또는 Restify 중 하나를 선택해야하며 둘 다 선택해서는 안됩니다.

코드가 잘 문서화되어 있고 라이브러리가 더 성숙하고 많이 사용되기 때문에 Express over Restify를 선택합니다. Express와 함께 이러한 응용 프로그램을 만드는 방법에 대한 유용한 자습서를 찾을 수 있으며 API는 훌륭합니다.

var express = require('express') 
    , app = express.createServer(); 

var users = [{ name: 'tj' }]; 

app.all('/user/:id/:op?', function(req, res, next){ 
    req.user = users[req.params.id]; 
    if (req.user) { 
    next(); 
    } else { 
    next(new Error('cannot find user ' + req.params.id)); 
    } 
}); 

app.get('/user/:id', function(req, res){ 
    res.send('viewing ' + req.user.name); 
}); 

app.get('/user/:id/edit', function(req, res){ 
    res.send('editing ' + req.user.name); 
}); 

app.put('/user/:id', function(req, res){ 
    res.send('updating ' + req.user.name); 
}); 

app.get('*', function(req, res){ 
    res.send('what???', 404); 
}); 

app.listen(3000); 
2

필자는 개인적으로 express.js를 사용하여 내 기능에 맞게 라우팅 기능을 찾고 있습니다. http://expressjs.com/guide.html#routing을 확인하십시오. RESTful API를 위해 작업이 완료되고 매우 빠릅니다. 또한

: 그것은 같은 익스프레스 위에 구축과 루비 온 레일즈를 닮은 시도되는 철도와 같은 복잡한 프레임 워크를 사용하는 것이 이해가되지 않습니다 Node-PerfectAPI vs Restify.js vs ExpressJS vs Node-APIServer

+0

응답 해 주셔서 감사합니다! 내 서버 중 하나가 다른 클라이언트 대신이 서버를 보내고 있다는 것을 어떻게 인증 할 수 있는지 알고 있습니까? 요청에 일종의 비밀 키를 전송할 생각 이었지만 좋은 실행인지 확실하지 않습니다. –