2016-12-23 39 views
1

我已經開始研究一個新的應用程序,其中後端將只是一個REST API。我對Node很新,所以我從Express開始。我仍處於早期階段,所以我正在尋找正確框架的建議。基於最佳節點的RESTful API架構?

我看了Express,Koa,HAPI,LoopBack和Restify。我喜歡Restify,但它似乎不是那裏最受歡迎的選項。我也喜歡LoopBack的外觀。

我很想用某種形式的Swagger/OpenAPI來記錄我的API。我已經看到許多Express版本的模塊,也被其他人修改爲使用Restify。

有什麼建議嗎?謝謝!

回答

0

對於Express有很多支持,但是你可以將所有你喜歡使用的東西混合在一起。我喜歡使用node-mysql節點模塊,以便我可以在後端使用mysql。我誠實地創建我自己的API。他們很容易建立。您只需在js文件中定義路由,然後爲每個端點定義您的get,post和delete函數。我希望有所幫助。

編輯:這是一個使用NodeJS,Express和MySQL製作REST API的教程。如果你知道你在用JavaScript做什麼,這將會在幾個小時內完成。

http://www.yogasaikrishna.com/simple-restful-api-using-nodejs-express-and-mysql/

0

我會繼續與快遞去,特別是如果你是新來的節點。它有很多documentation,非常靈活,並得到積極維護。使用express可以輕鬆利用CRUD並使用JSON進行響應。它包括一個路由器,例如它可以更容易地爲路由添加諸如/ api/v1之類的路由,併爲應用的特定部分包含中間件,這使得在一臺服務器上維護API的多個版本變得更加容易。

var express = require('express') 
var bodyParser = require('body-parser') 

var app = express() 
router = express.Router() 
// Use middleware to parse JSON request body 
router.use(bodyParser.json()) 

// prefix router with /api/v1/router 
app.use('/api/v1', router) 

// /api/v1/echo route 
router.post('/echo', function(req, res) { 
    // read the property message from the request body 
    var message = req.body.message 

    // check if message from request body is not null 
    // if it it not, respond with a status of 200 and 
    // send message back to client. 
    // if message was null, respond with a status of 
    // 400 (bad request) with an object containing 
    // an error property indicating the request body is 
    // missing the message property 
    if(message) 
     res.status(200).send({ 
      message: message 
     }) 
    else 
     res.status(400).send({ 
      errors: 'No message property in request body.' 
     }) 
}) 

app.listen(3000, function(err) { 
    if(err) 
     return console.error(err) 

    console.log('Server listening at http://localhost:3000/') 
}) 
0

我聽說sails.js有一個非常強大的CLI,可以讓你的路由起來很快速運行:作爲一個簡單的回聲路徑是一樣容易。

我個人喜歡Express,因爲大多數人使用它,如果你學會了快速,那麼你將能夠相當容易地閱讀很多其他開發者API代碼。一旦你學會了表達,你可能想要嘗試其他框架,但在那之前我會建議使用Express。

我聽說還有框架着重於安全性。如果你對安全實踐感興趣,你可能需要研究一下。

Socket.io非常棒,可以讓您實時查看服務器上的更新。而Hapi.js似乎是那裏最受歡迎的一款。我只用快遞搞砸了,用Socket.io玩了一下,但我肯定會同時學習Express和Socket.io