如何使用Sails.js实现ReST服务



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

可以。SailsJS允许您轻松地构建一个RESTful API,基本上不需要任何努力。此外,默认情况下,websocket(通过socket.io)集成到视图和api中。

要从头开始创建一个完全RESTful的应用程序,实际上不需要JS。尝试:

sails new testapp
cd testapp
sails generate model user
sails generate controller user
cd <main root>
sails lift

CRUD(创建、读取、更新、删除)操作已经为您创建。没有代码!

您可以通过执行以下操作在浏览器中创建用户:HTTPPOST(使用PostMan等工具)到HTTP://:1337/user/create

{"firstName":"Bob","姓氏":"Jones"}

接下来,执行GET以查看新用户:HTTP GET HTTP://:1337/user/

仅供参考-Sails JS使用默认的基于磁盘的数据库来让你进入

完成。

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',

相关内容

  • 没有找到相关文章

最新更新