我对 Node.js 很陌生。我遇到了Sails.js。我认为它是基于 WebSocket 的,它似乎非常适合构建实时应用程序。我想知道 Sails 使用 WebSocket 时是否可以用来实现 REST 架构?如果是,如何?
问问题
2329 次
2 回答
5
是的,它可以。Sails JS 允许您轻松构建 RESTful API,基本上不费吹灰之力即可上手。此外,websockets(通过 socket.io)默认集成到视图和 api 中。
要从头开始创建一个完全 RESTful 的应用程序,它实际上不需要 JS。尝试:
sails new testapp
cd testapp
sails generate model user
sails generate controller user
cd <main root>
sails lift
已经为您创建了 CRUD(创建、读取、更新、删除)操作。没有代码!
您可以通过执行以下操作在浏览器中创建用户: HTTP POST(使用 PostMan 等工具)到 http://:1337/user/create
{“名字”:“鲍勃”,“姓氏”:“琼斯”}
接下来,执行 GET 以查看新用户:HTTP GET http://:1337/user/
仅供参考 - Sails JS 使用默认的基于磁盘的数据库来帮助您前进
完毕。
于 2013-08-10T04:47:29.377 回答
0
sails new testapp
cd testapp
sails generate api apiName
控制器
create: function (req, res) {
var payload = {
name:req.body.name,
price:req.body.price,
category:req.body.category,
author:req.body.author,
description:req.body.description
};
Book.create(payload).exec(function(err){
if(err){
res.status(500).json({'error':'something is not right'})
}else{
res.status(200).json({'success':true, 'result':payload, 'message':'Book Created success'})
}
});
},
readone: async function (req, res) {
var id = req.params.id;
var fff = await Book.find(id);
if(fff.length == 0){
res.status(500).json({'error':'No record found from this ID'})
}else{
res.status(200).json({'success':true, 'result':fff, 'message':'Record found'})
}
},
模型
attributes: {
id: { type: 'number', autoIncrement: true },
name: { type: 'string', required: true, },
price: { type: 'number', required: true, },
category: { type: 'string', required: true, },
author: { type: 'string' },
description: { type: 'string' },
},
路线
'post /newbook': 'BookController.create',
'get /book/:id': 'BookController.readone',
于 2022-02-04T11:43:00.237 回答