【问题标题】:How can i create web services using MySql Stored procedures in strongloop如何在 strongloop 中使用 MySql 存储过程创建 Web 服务
【发布时间】:2016-02-15 21:27:49
【问题描述】:

我是强循环概念的新手,想使用 MySql 存储过程而不是表模式来创建 Web 服务,但我没有获得任何相关示例或分步文档来了解如何以及在何处定义输入和输出参数,如何定义 getter 和 setter,我如何使用存储过程(我在 java 中做)。所以anybuddy可以帮助我。我正在尝试在“Mode.js”中遵循代码。我需要在哪里进行更改

     module.exports = function(StaticData) {


    StaticDataremoteMethod(
   var ds = server.dataSources.MySQL;
var sql = 'SELECT * FROM static_data';
ds.connector.execute(sql, function(err, data)
  {
    if(err) return err;
    console.log(err);
    });,
    {
        accepts: [
        {arg: 'id', type: 'number', required: true}
      ],
       http: {path: '/:id/StaticDataremoteMethod', verb: 'get'}
    }
  );

};

同样,我在命令提示符下遇到以下异常

C:\Users\anupd\Desktop\ToursDemo>slc arc Swagger:跳过未知类型的“订阅”。 Swagger:跳过未知类型的“订阅”。 加载工作区 C:\Users\anupd\Desktop\ToursDemo StrongLoop Arc 在这里运行:http://localhost:65058/#/ C:\Users\anupd\Desktop\ToursDemo\common\models\static-data.js:5 var ds = server.dataSources.MySQL; ^^^

SyntaxError: Unexpected token var 在exports.runInThisContext (vm.js:53:16) 在 Module._compile (module.js:374:25) 在 Object.Module._extensions..js (module.js:417:10) 在 Module.load (module.js:344:32) 在 Function.Module._load (module.js:301:12) 在 Module.require (module.js:354:17) 在要求(内部/module.js:12:17) 在 C:\Users\anupd\Desktop\ToursDemo\node_modules\loopback-boot\lib\executor。 js:226:20 在 Array.forEach (本机) 在 defineModels (C:\Users\anupd\Desktop\ToursDemo\node_modules\loopback-boot \lib\executor.js:207:23)

提前致谢

【问题讨论】:

  • 为什么离题??它与堆栈溢出提供的标签有关。你能解释一下吗??

标签: mysql rest stored-procedures strongloop


【解决方案1】:

参考此链接。

dataSource.connector.execute(sql, params, cb); 或者 dataSource.connector.query(sql, params, cb);

https://docs.strongloop.com/display/public/LB/Database+connectors https://docs.strongloop.com/display/public/LB/Executing+native+SQL

  method()
{

var server = require('../server');
var ds = server.dataSources.MySQL;
var sql = 'select * from Appuser';
ds.connector.execute(sql, function(err, data)
  {
    if(err) return err;
    console.log(err);
    console.log("data",data);
  });
}

【讨论】:

【解决方案2】:

只需创建像 DemoModel.js 这样的模型,然后将以下代码复制并粘贴到 DemoModel.js 中

   module.exports = function(DemoModel) {
    var server = require('../../server/server');
      var ds = server.dataSources.MySQL;

    DemoModel.list = function(optionalparam, cb) {  


      var sql = 'select * from DemoModel';
      ds.connector.execute(sql, function(err, data)
      {
      if(err) return err;
      console.log(err);
      console.log("data",data);
        cb(null, data);
      });

    }

    DemoModel.remoteMethod(
        'list', 
        {
          accepts: {arg: 'param', type: 'string'},
          returns: {arg: 'result', type: 'object'},
          http: {path: '/list', verb: 'get'}
        }
    );


    };

只需致电:http://localhost:3000/api//DemoModels/list 也看看这个http://localhost:3000/explorer/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-21
    • 2016-05-30
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    相关资源
    最近更新 更多