如何在客户端上使用Hydra ApiDocumentation?

时间:2019-02-11 16:50:48

标签: rest json-ld hateoas hydra-core

我正在尝试将Hydra / JSON-LD方法应用于我的REST API,但是我在理解整个ApiDocumentation的意图方面一直很努力。

阅读Hydra Core规范不能解决我的问题,但是我想知道以下内容是否正确,并希望得到澄清。

  1. “ ApiDocumentation”代表给定API的词汇。
  2. 客户端用于查询来自API的响应的详细信息(例如受支持的“操作”)
  3. “ ApiDocumenation”允许通过将“ required”属性设置为“ null”来禁用单个受支持的“ Operations”,甚至只是从文档中删除整个“ Operation”即可。

如果3)是正确的,则表示API服务器必须为每个连接保存一个可变的“ ApiDocumentation”实例,以符合支持的“操作”的任意条件(例如,登录用户)。 除此之外,这将迫使客户端在每次收到响应时都在“ ApiDocumentation”中查找更改。

我想仍然可以在API响应内发送受支持的“操作”,但是在那种情况下,文档可能很快就会失去其一致性。

也许我在这里错过了一些东西,但是即使在分析了Markus Lanthaler的API Demo的词汇之后,我也无法找到向客户提供“操作”的机制。


更新2019/02/12

作为对HydraConsoleJSON-LD来源的分析的结果,我意识到我的第三(3)个假设是不正确的。

ApiDocumentation始终将整个文档呈现给客户端。如果条件不相关,则服务器响应中将忽略条件资源(例如API Demo中的my_account)。

现在,我仍然想知道第二(2)个假设是否正确,或者直接在服务器的响应中添加诸如提供的“操作”之类的信息是否更好。

0 个答案:

没有答案