hyperlink - OpenAPI 3 链接。它们有什么用?
问题描述
我花了很多时间试图弄清楚 OpenAPI 链接可以用于什么以及它们如何与响应正文中的超媒体链接相关,这让我很头疼!
假设下面的简单类模型代表了我们为其定义了 OpenAPI 规范的业务域,该规范提供了导航各种类实例的路径。
例如,如果我执行 /borrowers/{id} 的获取,我希望响应包含 Borrower 的属性和遵循 R1 或 R2 以获取相关 Book 实例集的方法。在 OpenAPI 3 之前,我会构建相关路径的链接,例如 /borrowers/{id}/loaned-books 或 /borrowers/{id}/reserved-books 并将它们作为属性(超链接)包含在响应正文的定义中。在运行时,如果我跟随这些超链接,我会得到一个相关书籍的数组,每本书都有其他超链接。
所以 OpenAPI Link 问题是:
- 它们是否可以替代在响应中生成超链接的需要?我不这么认为,但在这种情况下
- 运行时表达式语言 (REL) 的用途是什么?
- 它们只是在 API 规范中定义超链接的一种方式吗?可能,但在哪种情况下响应正文定义仍需要包含这些链接的属性?大概他们的值仍然需要在服务器上创建实际的超链接?
- 鉴于 REL 不允许通配符,当响应是一个资源数组时如何定义链接,每个资源都有一个 id 供下一个操作使用?
任何帮助解释链接将不胜感激。
解决方案
推荐阅读
- xamarin.forms - Xamarin Forms + MVVM 跨标签页绑定上下文
- javascript - AG-grid 文本编辑器,如选择
- python - Python Pandas 迭代值列表并写入单独的文本文件
- python - 条件 if 语句 GEKKO
- java - Java GUI Swing 文本字段
- wordpress - 在 WooCommerce 中批量更改运输类别
- angular - 将组件添加到角度 11 时出现 InvalidInputOptions 错误
- html - 带有columns-*的css flex项目拉伸太多
- mysql - 创建多列索引,包括相关表中的列
- swift - 无法从 ORSSerialPort 接收数据