API 平台 - 有条件的预加载

问题描述

我有 3 个实体,其中 2 个是全球性的,并且有公司关系。

用户角色、角色、配置。

UserRoles 和 Roles 是全局的,Configuration 是基于公司的。

我想要实现的是,当我调用 UserRoles 集合时,我有角色的规范化上下文,角色有配置的规范化上下文,我需要所有用户角色和角色的列表,但想按公司 ID 过滤配置。

我尝试使用 ACL 扩展和数据提供程序,但它仅适用于子资源调用

{
"@id": "/api/user-roles/238870305571864576","@type": "UserRole","type": "onboarding","icon": null,"thirdParty": false,"sorting": 1,"roles": [
    {
        "@id": "/api/roles/238870305567670278","@type": "Role","configurations": [
            {
                "@id": "/api/configurations/238870305756413952","@type": "Configuration","role": "/api/roles/238870305567670278","confValue": "865734","id": "238870305756413952"
            },{
                "@id": "/api/configurations/238870305756413955","confValue": "172599","id": "238870305756413955"
            },{
                "@id": "/api/configurations/238870305756413957","confValue": "467563","id": "238870305756413957"
            }
        ],"name": "activationKey","type": "string","required": false,"id": "238870305567670278"
    },{
        "@id": "/api/roles/238870305567670279","configurations": [
            {
                "@id": "/api/configurations/238870305756413953","role": "/api/roles/238870305567670279","confValue": "2021-05-28T11:53:25+00:00","id": "238870305756413953"
            },{
                "@id": "/api/configurations/238870305756413956","id": "238870305756413956"
            }
        ],"name": "activationDate","type": "datetime","sorting": 2,"id": "238870305567670279"
    }
]

这是我现在的响应示例,您可以看到角色实体中的配置

有没有办法将 QueryBuilder 函数应用于这个问题,或者您是否只需要为此创建自定义端点。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)