0

我对 Node.js 很陌生。我遇到了Sails.js。我认为它是基于 WebSocket 的,它似乎非常适合构建实时应用程序。我想知道 Sails 使用 WebSocket 时是否可以用来实现 REST 架构?如果是,如何?

4

2 回答 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 回答