Node.js RESTful API的最佳基于节点的体系结构?

Node.js RESTful API的最佳基于节点的体系结构?,node.js,rest,Node.js,Rest,我已经开始开发一个新的应用程序,它的后端只不过是一个RESTAPI。我是Node的新手,所以我从Express开始。我还处于非常早期的阶段,所以我正在寻找关于正确使用框架的建议 我已经看过Express、膝关节炎、HAPI、回环和复位。我喜欢Restify,但它似乎不是最流行的选择。我也喜欢环回的外观 我想以某种形式使用Swagger/OpenAPI来记录我的API。我已经看到了许多Express模块,其他人也对它们进行了修改,以使用Restify 有什么建议吗?谢谢 对Express有大量的支

我已经开始开发一个新的应用程序,它的后端只不过是一个RESTAPI。我是Node的新手,所以我从Express开始。我还处于非常早期的阶段,所以我正在寻找关于正确使用框架的建议

我已经看过Express、膝关节炎、HAPI、回环和复位。我喜欢Restify,但它似乎不是最流行的选择。我也喜欢环回的外观

我想以某种形式使用Swagger/OpenAPI来记录我的API。我已经看到了许多Express模块,其他人也对它们进行了修改,以使用Restify


有什么建议吗?谢谢

对Express有大量的支持,但您几乎可以将所有喜欢使用的东西混合在一起。我喜欢使用node-mysql节点模块,以便在后端使用mysql。老实说,我只是创建自己的API。它们真的很容易建造。您只需在js文件中定义路由,然后为每个端点定义get、post和delete函数。我希望这有帮助

编辑:下面是一个使用NodeJS、Express和MySQL制作RESTAPI的教程。如果您知道如何使用javascript,这将使您在不到几个小时的时间内开始工作


我会继续使用express,尤其是如果您是Node的新手。它有很多功能,非常灵活,并积极维护。使用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/')
})

我听说sails.js有一个非常强大的cli,可以快速启动和运行您的路线

我个人喜欢Express,因为大多数人都使用它,如果您学习了Express,那么您将能够相当轻松地阅读许多其他开发人员的API代码。学习了express之后,您可能会想尝试其他框架,但在此之前,我建议您只使用express

我听说还有一些侧重于安全性的框架。如果您对安全实践有兴趣,您可能希望研究一下

io非常棒,可以让您实时查看服务器上的更新。而Hapi.js似乎是最受欢迎的。我只玩过express,玩过一点Socket.io,但我肯定会同时学习express和Socket.io