加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

rest – 支持资源嵌套

发布时间:2020-12-15 20:16:13 所属栏目:百科 来源:网络整理
导读:我想知道,是否可以配置DataProvider / Resource / List以支持api / users / 1 / roles等REST URL? 对于RESTful API,获取某个父实体的子代是非常常见的用例,但我无法想象如何设置React Admin并实现此目的.我在OData spec后端使用自定义DataProvider构建. 我
我想知道,是否可以配置DataProvider / Resource / List以支持api / users / 1 / roles等REST URL?

对于RESTful API,获取某个父实体的子代是非常常见的用例,但我无法想象如何设置React Admin并实现此目的.我在OData spec后端使用自定义DataProvider构建.

我理解我可以通过api / roles上的过滤请求获取某些用户的角色?filter = {userId:1}或类似的东西,但我的问题是我的用户和角色是多对多关系所以关系引用存储在数据透视表中.换句话说,我没有在角色表中引用用户,所以我不能过滤它们.

我是在监督某些事情还是有一些我根本看不到的方法?

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

用户模式 ??- 角色关系看起来也非常标准.

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

解决方法

TL; DR:默认情况下,React Admin不支持嵌套资源,您必须支持 write a custom data provider.

这个问题在过去的问题上得到了回答:maremelab/react-admin#261

详细解答

React Admin中的默认数据提供程序是ra-data-simple-rest.

正如其文档中所解释的,此库不支持嵌套资源,因为它仅使用资源名称和资源ID来构建资源URL:

Simple REST Data Provider

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

嵌套资源支持是recurrent feature request,但当时核心团队不想处理这种工作量.

我强烈建议收集你的力量并编写一个外部数据提供者并像ra-data-odata提供者一样发布它.这将是一个很好的补充,我们很荣幸能够帮助您完成外部包装.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读