首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接从数据源创建API

直接从数据源创建API
EN

Stack Overflow用户
提问于 2015-02-21 01:24:43
回答 3查看 240关注 0票数 3

我需要创建我自己的REST API。我刚刚看到了strongloop和loopback,我认为它对我的项目来说将是完美的。

事实上,我能够使用strongloop连接到mysql。然而,我必须创建一个叫做“模型”的东西,并且我做到了。但是,这就像从头开始创建一个新模型,并使用它来持久化数据源。

相反,我想要的是直接从我在DB上的模型中获取REST API。我的意思是从DB上的每个表中获取模型,然后将它们设置为web服务。

这有可能吗?

我是这些技术的新手,尽管我认为这是一个有趣的问题。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2015-02-21 01:38:48

我不确定有没有Node工具来做你所要求的事情,但是在其他语言/数据库中,你有一些选择!

我唯一熟悉的是postgrest。

postgrest:您将数据导入Postgres数据库(类似于MySQL),它会立即在您的表上生成REST API。Bam。好了。我用过这个,它太棒了。您也可以将其直接部署到Heroku上。

票数 2
EN

Stack Overflow用户

发布于 2015-02-21 03:35:04

StrongLoop实际上有一个专门用于此目的的"discovery" tool!请仔细阅读该页面,但这里有基本的代码。只需将此代码放在/server/boot/内的一个文件中(文档在这一点上是错误的,它一定在我提到的目录中)。当然,您需要根据您的用例对其进行定制:

代码语言:javascript
复制
var loopback = require('loopback');
var ds = loopback.createDataSource('mysql', {
  "host": "yourhost",
  "port": 1234,
  "database": "foobar",
  "username": "someuser",
  "password": "somepass"
});

// Discover and build models from a given table
ds.discoverAndBuildModels('PERSON', {visited: {}, associations: true},
function (err, models) {
  // Now we have a list of models keyed by the model name
  // You only need the rest of this if wanted to inspect what came in...

  // For example, you could find the first record from the table
  // and verify info or something.
  models.Person.findOne({}, function (err, person) {
    if(err) {
      // handle this if need be...
      console.error(err);
      return;
    }

    // Some code using `person`

  });
});

祝好运!

票数 2
EN

Stack Overflow用户

发布于 2015-02-23 20:34:09

我假设“发现工具”是在数据中找出模式、聚类或其他任何东西。但在@jakarella的推荐之后,我走得更深入。

它甚至比这更简单,因为你可以通过图形用户界面( StrongLoop )来做任何事情。我总是更喜欢cli,但如果你对这个主题没有太多的了解,有时从GUI开始会更好。

无论如何,首先你需要连接你的数据源之前(安装之前的驱动程序)。在那之后,通过API,你可以“发现模型”选择你的表(负责运行StrongLoop并在每次你得到一个新的模型时重新启动),就是这样,你就可以在你的数据源上得到一个StrongLoop(为了测试去资源管理器)。

我之前描述了一般的主要任务,但如果有人需要更多的细节,请让我知道。我希望这对任何想要做类似事情的人有所帮助

谢谢你们的关注。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28634727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档