我想知道,是否可以将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
提供程序一样发布它。这将是一个很好的补充,我们很荣幸为您提供该外部软件包。
TL; DR:默认情况下,React Admin不支持嵌套资源,您必须编写一个自定义数据提供程序。
过去的问题已回答此问题:maremelab / react-admin#261
详细答案
React Admin中的默认数据提供者为ra-data-simple-rest
。
如其文档所述,该库不支持嵌套资源,因为它仅使用资源名称和资源ID来构建资源URL:
为了支持嵌套资源,您必须编写自己的数据提供程序。
嵌套资源支持是一项经常性的 功能 请求,但是,当时,核心团队不想处理这种工作量。
我强烈建议您聚集力量,编写一个外部数据提供程序,然后像ra-data-odata
提供程序一样发布它。这将是一个很好的补充,我们很荣幸为您提供该外部软件包。