我正在尝试将Hydra / JSON-LD方法应用于我的REST API,但是我在理解整个ApiDocumentation的意图方面一直很努力。
阅读Hydra Core规范不能解决我的问题,但是我想知道以下内容是否正确,并希望得到澄清。
如果3)是正确的,则表示API服务器必须为每个连接保存一个可变的“ ApiDocumentation”实例,以符合支持的“操作”的任意条件(例如,登录用户)。 除此之外,这将迫使客户端在每次收到响应时都在“ ApiDocumentation”中查找更改。
我想仍然可以在API响应内发送受支持的“操作”,但是在那种情况下,文档可能很快就会失去其一致性。
也许我在这里错过了一些东西,但是即使在分析了Markus Lanthaler的API Demo的词汇之后,我也无法找到向客户提供“操作”的机制。
更新2019/02/12
作为对HydraConsole和JSON-LD来源的分析的结果,我意识到我的第三(3)个假设是不正确的。
ApiDocumentation始终将整个文档呈现给客户端。如果条件不相关,则服务器响应中将忽略条件资源(例如API Demo中的my_account)。
现在,我仍然想知道第二(2)个假设是否正确,或者直接在服务器的响应中添加诸如提供的“操作”之类的信息是否更好。