我开始研究一个新的应用程序,后端只是一个REST API。我对Node很新,所以我从Express开始。我还处于早期阶段,所以我正在寻找有关正确框架的建议。
我看过Express,Koa,HAPI,LoopBack和Restify。我喜欢Restify,但它似乎并不是最受欢迎的选择。我也喜欢LoopBack的外观。
我喜欢以某种形式使用Swagger / OpenAPI来记录我的API。我已经看到许多Express模块也被其他人修改过来与Restify一起工作。
有什么建议吗?谢谢!
答案 0 :(得分:1)
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/
答案 1 :(得分:1)
如果您是Node的新手,我会继续使用express。它有很多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/')
})
答案 2 :(得分:1)
我听说sails.js有一个非常强大的cli,可以让你的路线快速启动和运行。
我个人喜欢Express,因为大多数人都使用它,如果你学习了express,那么你将能够相当容易地阅读很多其他的开发人员API代码。一旦你学习了表达,你可能想尝试其他框架,但在那之前我会建议只使用Express。
我听说还有一些专注于安全性的框架。如果您对安全实践有感情,可能需要查看该安全实践。
Socket.io非常棒,可以让您实时查看服务器上的更新。而Hapi.js似乎是最受欢迎的。我只和Express一起搞砸了,玩了一下Socket.io,但我肯定会学习Express和Socket.io