当前位置: 首页 > 知识库问答 >
问题:

如何在Olingo中向元模型添加自定义属性?

那鹏
2023-03-14
  • 一个具有“姓名”、“地址”和“工资”属性的实体“人”
  • 两个角色-“员工”和“经理”

虽然员工应该能够编辑他自己的地址,但他肯定不能改变他的工资或其他人的地址。虽然他可能被允许看到自己的工资和其他用户的地址,但他甚至不允许看到其他人的工资,更不用说编辑了。另一方面,manager具有完全的readwrite权限。

这在后端不是问题--我们可以在那里使用自定义bean验证来强制执行写权限。

<Property Name="Address" Type="Edm.String" Nullable="false"/>

我想收到

<Property Name="Address" Type="Edm.String" Nullable="false" Mode="readwrite"/>

或者类似的东西。

所以问题是:如何使用Olingo将自定义属性引入到oData元模型中?

我对这两种选择都不感兴趣,所以...任何关于更好的解决方案的提示都将是非常受欢迎的!

共有1个答案

颛孙正谊
2023-03-14

事实证明这其实很容易。

Olingo将允许您通过实现JPAEdmExtension及其方法ExtendJPaedmSchema来扩展模式。在这里阅读更多关于这一点的信息。

这应该会让你去,但我会尝试提供一个例子在不久的将来。

 类似资料:
  • 问题内容: 我希望能够在加载Laravel / Eloquent模型时为其添加自定义属性/属性,类似于使用RedBean的 方法可以实现的那样。 例如,目前,在我的控制器中,我有: 能够省略循环并已经设置并填充了“ available”属性将是很好的选择。 我尝试使用文档中描述的一些模型事件在对象加载时附加此属性,但到目前为止还没有成功。 笔记: “可用”不是基础表中的字段。 是作为JSON对象作

  • 问题内容: 背后有不同的原因,但是我想知道如何简单地向JSX中的元素添加自定义属性? 问题答案: 编辑:更新以反映React 16 React 16本机支持自定义属性。这意味着向元素添加自定义属性现在就像将其添加至函数一样简单,如下所示: 先前的答案(第15和更早版本) 当前不支持自定义属性。有关更多信息,请参见此未解决的问题: 解决方法是,您可以在中执行以下操作:

  • 有没有可能通过使用属性在Laravel模型上延迟加载自定义属性,而不必每次都加载它?我正在寻找一种类似于你们可以懒散地加载雄辩的关系的方式。 例如,给定模型上的这个访问器方法: 我希望能够做这样的事情: 这个问题与在加载时向Laravel/Elount模型添加自定义属性不同吗?因为它希望在每次模型加载时加载一个自定义属性,所以我希望仅在指定时延迟加载该属性。 我想我可以为模型实例分配一个与自定义属

  • 我最近开始修改Minecraft了,我想我的第一个发布的mod可能会给机翼提供Terraria的功能(在一段有限的时间内保持飞行的空间,然后在你接触地面之前你就不能飞起来了。这时机翼提供了一个缓慢的下落)。 到目前为止,我已经添加了项目,食谱等,我已经决定使用,我有我的第一套翅膀作为盔甲,然而,因为我没有设置纹理,他们显示为粉红色/黑色格子。我真正想要的是使用一个不同的模型--我为机翼定制的一个模

  • 在我的SpringMVC应用程序中,我试图创建一个自定义的thymeleaf方言来将ASCII字符串转换为文本。我能够创建前缀不是的方言。但是如果我尝试使用作为前缀,那么服务器将抛出以下运行时异常。 基本上,我需要在这里实现的是创建一个像这样的自定义方言。任何帮助都将不胜感激。 注:如果有人需要查看我已经尝试过的代码,请在评论部分提问。

  • 我无法在gradle项目中添加自定义源代码集。如何初始化这里的版本号?我的gradle文件看起来像: