【问题标题】:create Nodejs/Express API to connect to React-Admin frontend Framework创建 Nodejs/Express API 以连接到 React-Admin 前端框架
【发布时间】:2019-11-13 08:13:23
【问题描述】:

react-admin 是一个前端框架,用于构建在 REST/GraphQL API 之上的浏览器中运行的管理应用程序,使用 ES6、React 和 Material Design。以前命名为 admin-on-rest。由 marmelab 开源和维护。

我正在尝试使用 Nodejs/Express 创建和配置 Rest API(后端),我想知道如何在我的 express API 中配置请求和端点。

const express = require('express')
const app = express()
const bodyParser = require('body-parser');
const cors = require('cors');
const port = 80;
app.use(express.json());
app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});
app.get('/', (req, res) => {
  return res.send('Received a GET HTTP method');
});
app.post('/', (req, res) => {
  return res.send('Received a POST HTTP method');
});
app.put('/', (req, res) => {
  return res.send('Received a PUT HTTP method');
});
app.delete('/', (req, res) => {
  return res.send('Received a DELETE HTTP method');
});
app.listen(port, () =>
  console.log(`Example app listening on port ${port}!`),
);

【问题讨论】:

  • 您能否添加更多关于您想做什么、您的数据库是什么等信息?或者问题只是为您的应用程序创建路由器?也许您可以指定您使用 API 访问的资源类型...
  • 我的数据库是 Postgresql,我的服务器是 NodeJs/express,我想用前端 react-admin 创建一个完全卡住的 Web 应用程序

标签: node.js reactjs express react-admin


【解决方案1】:

这取决于您使用的是哪个react-admin data provider。数据提供者充当 react-admin 和您使用的特定 API 之间的适配器。 react-admin 没有“标准”API 规范。

如果您真的想在 Express 中从头开始编写自己的 API,那么有一个示例 ra-data-simple-rest 可能会满足您的需求。

更好的解决方案可能是为您的 API 使用 Feathersfeathers-postgresql 之类的东西,然后使用现有的数据提供者 ra-data-feathers 将 react-admin 连接到 Feathers。

【讨论】:

  • 非常感谢@Nick Nelson 的帮助,我认为我必须创建一个Rest Cient 而不是Data Provider 它们之间有什么区别?
  • marmelab.com/admin-on-rest/RestClients.html 链接用于 admin-on-rest。 admin-on-rest 在版本 2 中被重命名为 react-admin。在这个上下文中,Rest Client 和 Data Provider 基本上是一样的。唯一的区别是 Rest Client 用于 admin-on-rest 而 Data Provider 用于 react-admin。我建议在使用 react-admin 时远离 admin-on-rest 文档。两者之间有重大变化,混合文档可能会让人感到困惑。
  • 你好@nick,我仍然对使这个项目正常工作的方式感到困惑,实际上我想从头开始创建一个带有数据库 Postgres 的 NodeJs/Express 服务器,但似乎我必须创建一个DataProvider ...我不知道该怎么做...有没有可以帮助我的带有react-admin的全栈项目示例...因为我找不到这样的项目!
  • 您没有拥有来创建DataProvider。您可以编写符合现有 DataProvider 所期望的标准的 API,例如 ra-data-json-serverra-data-simple-rest
  • 我建议您从 react-admin tutorial 开始,它将向您展示如何使用 ra-data-simple-rest 数据提供程序和现有 API 设置一个简单的 react-admin 项目,以及然后查看使用 Express 编写 API 的教程,例如 this。做这两个应该会给你所需的一切,然后将两者结合起来,所以你的 react-admin 应用程序连接到你的 Express API。
【解决方案2】:

这个PROJECT 完美回答了我的问题(除了它使用 mongodb)。 谢谢Michalak111

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-23
    • 2021-12-22
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2019-11-13
    • 2019-09-16
    相关资源
    最近更新 更多