当前位置:  开发笔记 > 程序员 > 正文

支持资源嵌套

如何解决《支持资源嵌套》经验,为你挑选了1个好方法。

我想知道,是否可以将DataProvider / Resource / List配置为支持REST url api/users/1/roles

对于RESTful API,获取某些父实体的子代是非常常见的用例,但是我无法弄清楚它如何设置React Admin并实现这一点。我在OData规范后端上使用自定义DataProvider。

我知道我可以通过过滤请求api/roles?filter={userId: 1}或类似方法获取某些用户的角色,但是我的问题是我的用户和角色处于多对多关系,因此关系引用存储在数据透视表中。换句话说,我在角色表中没有关于用户的引用,因此无法过滤它们。

我是在监督什么,还是有一些我根本看不到的方法?

编辑:REST API是在OData规范中构建的,它支持与经典数据透视表(或中间表)的多对多关系。该表未在API中公开,但在上面的网址中使用。所以我不能直接作为资源访问它。

用户模式-角色关系看起来也很标准。

|----------|    |-----------|     |--------|
| USER     |    | User_Role |     | Role   |
|----------|    |-----------|     |--------|
| Id       |-\  | Id        |   /-| Id     |
| Login    |  \-| UserId    |  /  | Name   |
| Password |    | RoleId    |-/   | Code   |
|----------|    |-----------|     |--------|

Kmaschta.. 5

TL; DR:默认情况下,React Admin不支持嵌套资源,您必须编写一个自定义数据提供程序。

过去的问题已回答此问题:maremelab / react-admin#261

详细答案

React Admin中的默认数据提供者为ra-data-simple-rest

如其文档所述,该库不支持嵌套资源,因为它仅使用资源名称和资源ID来构建资源URL:

为了支持嵌套资源,您必须编写自己的数据提供程序。

嵌套资源支持是一项经常性的 功能 请求,但是,当时,核心团队不想处理这种工作量。

我强烈建议您聚集力量,编写一个外部数据提供程序,然后像ra-data-odata提供程序一样发布它。这将是一个很好的补充,我们很荣幸为您提供该外部软件包。



1> Kmaschta..:

TL; DR:默认情况下,React Admin不支持嵌套资源,您必须编写一个自定义数据提供程序。

过去的问题已回答此问题:maremelab / react-admin#261

详细答案

React Admin中的默认数据提供者为ra-data-simple-rest

如其文档所述,该库不支持嵌套资源,因为它仅使用资源名称和资源ID来构建资源URL:

为了支持嵌套资源,您必须编写自己的数据提供程序。

嵌套资源支持是一项经常性的 功能 请求,但是,当时,核心团队不想处理这种工作量。

我强烈建议您聚集力量,编写一个外部数据提供程序,然后像ra-data-odata提供程序一样发布它。这将是一个很好的补充,我们很荣幸为您提供该外部软件包。

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有