我们有一个基于动态对象的系统 - 因此有一个描述这些对象的元数据表。例如 - 组织A可以具有仓库对象,客户对象和销售对象。组织B可以有一个销售对象和一个小丑对象。
用户对基于Yii2框架构建的rest api进行身份验证。他们使用/ user / authenticate调用进行身份验证,然后使用/ object / for list / create和/ object //查询,更新,删除对象。
这个问题是:如果开发人员要集成到服务中,他们需要知道组织中已定义的所有对象,包括他们能够读/写的可用字段。我们想要做的是提供一个描述我们数据的选项。
E.g。我最初的想法是暴露诸如/ object / metadata之类的东西,其中我将使用允许用户访问的json资源列表进行响应,例如仓库用户可以看到仓库,客户,销售。组织B用户会看到销售,小丑。
我被要求查看oData作为此规范,但oData似乎定义了一个完整的事物约定(url,搜索和过滤等)。
实现oData Spec的一部分或将其用作指南并使我们的URL保持一致是否有意义? 是否有oData规范的一部分可以用于描述动态资源(例如,如果用户使用我们的系统向Sales对象添加列 - api应该反映出来。)
对于如何设计/继续此要求的任何想法表示感谢。
谢谢!